webpack配置的别名与node_modules里的一个包引用的另一个包重名了.
我配置了别名@vue
指向一个我修改过的vue,但是某个组件包里又引用了@vue/xxx
,导致引用指向错误.
麻烦的地方在于,因为用DllReferencePlugin
将@vue
打包到另一个包,这个包放CDN,轻易不会更改.如果要修改这个别名,就必须把dll.config
的别名同步修改.
那么问题来了.
1.怎么才能配置使alias只对源码生效,而忽略node_modules?
2.如何不影响DLL插件正常使用?
我尝试了将@vue
修改为@vue$
,这样两处都能够正确引用,但是查看包依赖,vue也被打包进来了,这不符合预期.
有个配置enforceModuleExtension
,只对node_modules生效,可惜是给enforceExtension
打补丁的.
翻阅文档webpack.resolve,没有找到有用的信息.
比较有希望的是plugins配置项,但不清楚这个选项的配置支持的插件是否与webpack插件一致?