我使用自制组件库在我的项目之间共享组件。问题是,即使在webpack
使用Authoring libraries指南之后,它仍然将这些依赖项包含在我的主要版本中,而且我不知道这是由...引起的设置。
构建分析(捆绑我的应用时)
您可以在此处看到node_modules
和wizer-components/node_modules
。包括react-dom
两次(和其他人)
构建(组件的)分析
正如您所看到的,这里没有捆绑node_modules ...
设置文件
因为我无法找到问题所在,我创建了gists of my config files:
webpack.config.js
(组件库)webpack.config.production.js
(应用)设置
就像信息一样,我使用lerna
到npm link
的单一设置设置(wizer-components)的依赖关系,而不需要将其推送到npm
模块。这可能是webpack认为需要重新添加react
(和其他人)的问题吗?
答案 0 :(得分:1)
在尝试完成这项工作总共4天之后(在我提出问题之前这样做了),我设法解决了(最终)!
问题在于lerna / NPM链接和依赖关系解析,请参阅本答案底部的便捷链接。
我通过执行以下步骤修复了它:
dependencies
(react
,react-dom
)移至peerDependencies
(我的组件库)wizer-components
文件中的package.json
node_modules
文件夹(应用和组件库)$ lerna bootstrap
以重新下载node_modules
webpack.config.production.js
(做了一张照片,因为它不会在这里格式化 - -
有用的链接(也请看评论):