首页 > 解决方案 > 在 ESM 中导入模块目录

问题描述

我有一个文件夹目录,每个文件夹都有一个我想导入的 index.js。

modules/
├── moduleA/
│   └── index.js
└── moduleB/
    └── index.js

我将如何在 ESM 中解决这个问题?

这是只有 fs 才能实现的东西吗?在 CommonJS 中,您可以执行以下操作:

require('./modules/**/index.js', {mode: (base, files) => {
   console.log(files)
}});

标签: javascript

解决方案


您必须分别导入每个模块。如果你有一组可导入的路径指向你的模块,你可以在一个循环中完成它,但是这个数组并不是 vanilla JS 可以给你的。

如果你使用 webpack 来打包你的 JS 资源,你可以试试 webpack-import-glob


推荐阅读