ncc 动态require 被webpack的require替换的一些解决方法
是实际存在的一个业务问题,我们希望模块是动态加载的,而不是被直接打包的
- 使用eval("require")处理
尽管不是很推荐,但是实际很有效,也是ncc 自己内部一些场景的玩法
module.exports = eval("require")("edgecommon");
- 使用变量
将需要动态导入的模块使用变量引入,可以规避一些被替换的可能性
- 检查是否使用了一些别的语法造成问题
这个是自己碰到的,比较怪,因为使用了一些新的js 语法,造成了问题,注意排错
- 使用external 声明是外部的不应该合并
说明
实际目前来说eval("require") 似乎是有通用的解决方法,尤其我们希望模块动态加载,而不是被打包到单一文件中
浙公网安备 33010602011771号