【发布时间】:2016-09-17 07:35:24
【问题描述】:
我正在使用 Electron 构建一个项目,并使用 Webpack 构建(Angular 2)渲染过程应用程序。
在这个应用程序中,我需要在运行时动态地require 一些在构建时不存在的文件。代码如下所示:
require("fs").readdirSync(this.path).forEach(file => {
let myModule = require(path.join(this.path, file));
// do stuff with myModule
});
问题在于 Webpack 编译器会将 require() 调用转换为自己的 __webpack_require__() 并且在运行时,它会在自己的内部模块注册表中查找动态“myModule”文件,当然会没找到。
我尝试使用“externals”配置选项,但由于这是一个动态要求,它似乎没有被“externals”处理。
还有其他人成功解决了这个问题吗?
【问题讨论】:
-
不是 100% 确定 - 你试过
global.require吗? -
@jantimon 是的,这就行了!谢谢。