我們正在提升一個巨大的代碼庫的部分過程。我們正在引入一個使用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選項中使用相對路徑並確保它們使用相同的文件來解決此問題。