我们正在提升一个巨大的代码库的部分过程。我们正在引入一个使用webpack构建的模块。为了避免代码重复,我们使用了webpack的外部选项。混合browserify和webpack外部
当我们开始将我们的模块集成到当前正在使用browserify的主代码库中时,我们遇到了一个问题,即共享依赖包含两次并导致问题。
有没有办法让webpack使用打包版本的依赖关系?那么在最终的browserified bundle中,我们只需要包含一个依赖项?
在我看来,这可能是不可能的,如果是这样的话,我会推动我们的代码库的其余部分移到webpack上(它已经在进行中)。
我到目前为止唯一的解决方案是让webpack模块也导出共享依赖项,然后让主应用程序使用该导出,但这并不理想。
我已确保两个node_modules文件夹中的依赖项都在相同的版本,并且我仍然得到2个实例。
我需要能够告诉Browserify只解析我的应用程序node_modules,或告诉它从上到下解析,即首先查看顶层node_modules,这可能吗?
我曾尝试设置NODE_PATH选项,当使用CLI到没有影响。
**更新**
所以,问题是,当Browserify命中require()语句中的WebPack捆绑它从本地文件夹node_modules解决,所以我们最终依赖的两个实例。我可以通过在应用程序require()或webpacks external选项中使用相对路径并确保它们使用相同的文件来解决此问题。