webpack需要带有变量触发器webpackMissingModule

时间:2018-02-10 19:02:35

标签: javascript webpack ecmascript-6 require

我正在尝试通过Webpack动态模块为我的ES6项目,但Webpack给出了奇怪的行为。

array来自webpack.config.js。它来自目录和子目录列表。所以我在这个数组中有我需要的所有路径。

当我在module-init.js文件中循环播放时,var path包含:/path/to/user-profile-summary

当我这样做时:

models[name] = require(path);

错误是:

Error: Cannot find module "."
    at webpackMissingModule (module-init.js?5fa7:156)
    at eval (module-init.js?5fa7:156)

当我用文字字符串换行时(我在Webpack Github 问题上看到了这一点):

models[name] = require(`${path}`);

错误是:

Error: Cannot find module '/path/to/user-profile-summary'.
    at webpackContextResolve (core ^.*$?57f1:13)
    at webpackContext (core ^.*$?57f1:8)
    at eval (module-init.js?5fa7:163)

同一文件需要手动操作,才能完美运行

 models[name] = require('/path/to/user-profile-summary');

我不能使用require.context(完全正常),因为Jest不想使用它并且无法进行测试。

为什么我这样做?我编写了一个HTML ES6模块加载器,当DOM中的特定HTML元素(与data-module =“foobar”相关)时需要特定的模块。这是一个仅与目录一起使用的旧版本https://github.com/romuleald/nu6tils/blob/master/src/module.js。当你有一个大型项目时,它就变成了怪物。

自动要求背后的想法是避免维护仅为此的索引。

有人知道解决方法吗?

0 个答案:

没有答案