我使用module.exports
A.js
module.exports = {
regexes: [
/aaa/,
/bbb/
]
}
当我这样做时,这很好用:
B.js
var config = require('./A');
但现在我有这种情况,路径未知,并作为参数传递给ES6类。所以我试过了:
class B {
constructor( private dir: string ) {
const configpath = path.join(dir, 'serverConfig.js');
const config = require(`${configpath}`);
}
}
我收到了错误
Critical dependencies: the request of a dependency is an expression
和
Module not found: Error: a dependency to an entry point is not allowed
它由webpack编译,如
var configpath = path.join(this.configDir, 'serverConfig.js');
this.serverConfig = __webpack_require__(24)("" + configpath);
这应该有效,因为这个简单的es5代码显示:
var A = function() {
var name = 'util';
var util = require(name);
}
a = new A();
我不确定我在这里做错了什么。是否有要更改的webpack配置?
另外,当我实际运行代码时(因为这只是一个警告),我收到此错误:
Error: Cannot find module '[correctPath]/serverConfig.js'.
其中[correctPath]确实是可见性的缩影。