我正试图将一个node应用程序打包成单个文件。
但是,在捆绑后检查webpack的输出后,我发现其中一个库使用Module.createRequire
在运行时加载某些模块。
检查捆绑后的代码后,我了解到webpack没有将Module.createRequire(path).resolve
替换为__webpack_require__
,这导致我的应用程序在捆绑后依赖于node_module。
我可以想到一个简单的解决方案,即修改库的代码并使用require
代替Module.createRequire
。但我宁愿不修改库的代码,因为那会让我每次想要更新库时都增加额外的麻烦。
此外,我想知道如果我根据Webpack上下文用require(myPath)
替换以下代码Module.createRequire(myPath)
,是否会导致webpack将所有的node_modules都打包,因为结果表达式*
将与所有模块匹配?