从同一目录导入模块,其中包括当前模块不起作用

时间:2020-08-02 15:00:01

标签: javascript node.js webpack es6-modules

我有这个目录结构:

start-dir
  example-dir1
    module1.js
    module2.js
    index.js
  ...other-directories...
  example-dir2
    module3.js
    module4.js
    index.js
...other-directories...

index.js文件导入module1和2并将它们导出为对象:

exports.module1 = require('./module1');
exports.module2 = require('./module2');

然后在module1.js中,我要包含module2.js-使用这样的index.js:

// module1.js

const { module2 } = require('@example-dir1');

console.log(module2) // undefined

注意:@是根目录的绝对路径,它使用Web Pack别名,但是没有别名也将不起作用-即使使用“直接”导入,例如:require('./index') < / p>

模块1不仅需要从同一example-dir1导入模块2,有时还需要从其他目录导入其他模块,例如:

// module1.js

const { module3 } = require('@example-dir2');

console.log(module3); // undefined

但是,如果我尝试在不是 start-dir 子目录的目录上执行相同的操作(请注意,这是示例的根目录),它将起作用。

所以问题出在尝试导入一个模块,该模块在其中导入和导出当前模块

如何解决?

0 个答案:

没有答案