使用 lerna 和 typescript 为 webpack 配置别名

Configure aliases for webpack with lerna and typescript

我创建了一个存储库来显示我遇到的问题:https://github.com/vileen/lerna-webpack-typescript-aliases-issue(由于某些原因它无法正常启动应用程序,但没关系)。

基本上问题是如何改进从共享包的导入,甚至更多,以摆脱导入的 src 部分。或者也许有更好的方法来避免再出口?

我尝试定义 webpack 别名,但没有做任何事情。 起作用的是从共享组件添加 "main": "src/index.tsx" 到 package.json 但这会破坏 typescript IntelliSense,所以它不是一个合适的解决方案。

我正在考虑添加定义文件,甚至手动定义共享模块,但这也不理想,因为目前我能够查看实际代码,创建定义不会给我带来那么多价值,我' d 需要为每个新包不断更新它。

您需要先捆绑您的代码。仅传递 .tsx 文件是行不通的。看看这个图书馆:https://www.npmjs.com/package/create-react-library

是的,如果你使用打字稿,你还需要制作一个 .d.ts 文件,这说明你的消费者可以期望收到什么。