【发布时间】:2021-03-08 22:58:55
【问题描述】:
我正在尝试将节点应用程序捆绑到单个文件中。
但是在捆绑后检查 webpack 的输出。
我发现其中一个库使用Module.createRequire 在运行时加载某些模块。
检查捆绑的代码我了解到 webpack 不会将 Module.createRequire(path).resolve 替换为 __webpack_require__ ,这导致我的应用程序在捆绑后依赖于 node_module。
我可以想到一个简单的解决方案,修改库的代码,用require代替Module.createRequire。但我不喜欢修改库代码,因为每次我想更新库时都会增加额外的麻烦。
其次,我想知道如果我根据Webpack Context 将以下代码Module.createRequire(myPath) 替换为require(myPath),webpack 会捆绑所有节点模块,因为结果表达式* 将与所有模块匹配?
【问题讨论】: