如何将某个文件夹中的所有内容导入Javascript文件

如何将某个文件夹中的所有内容导入Javascript文件,javascript,node.js,Javascript,Node.js,我想制作一个discord机器人,因此我希望我的main.js文件连接到discord,并从名为“add-ons”的文件夹导入所有文件。例如,我希望main.js导入mod.js,该mod.js包含所有调节命令,而无需手动导入所有命令,并且仍然使用这些函数等等,如果这是可能的,如果有人能提供帮助,那就太好了。您正在寻找读取目录内容的方法: const addonDir = './addons/'; const fs = require('fs'); const path = require('p

我想制作一个discord机器人,因此我希望我的main.js文件连接到discord,并从名为“add-ons”的文件夹导入所有文件。例如,我希望main.js导入mod.js,该mod.js包含所有调节命令,而无需手动导入所有命令,并且仍然使用这些函数等等,如果这是可能的,如果有人能提供帮助,那就太好了。您正在寻找读取目录内容的方法:

const addonDir = './addons/';
const fs = require('fs');
const path = require('path');
var loadedAddons = {};
fs.readdir(addonDir, (err, files) => {
  files.forEach(file => {
    //either simply
    require(path.join(addonDir, file));
    //*OR* provide a contract for loading/unloading which allows hot loading of code
    loadedAddons[file] = require(path.join(addonDir, file)).load();
  });
})

我假设您使用的是Node.js,所以这里有一些可能性

  • 创建一个文件
    addons/index.js
    ,从中导出所有其他依赖项(通过require),然后需要
    index.js
    文件
  • 使用
    require all
    -软件包
  • 使用fs编写一个自定义加载程序,该加载程序迭代文件并动态地要求它们。请查看
    fs.readdir
    了解此信息

  • 你在用Node吗?是的,在用Node对不起,我没有提到,不要那样做。您应该使用
    require()
    。有一个npm模块似乎可以满足您的要求:。我会在@simplej中查看它谢谢您的回复,我收到一个错误,上面说找不到模块mod.js
    require
    需要详细说明模块的路径。代码已被修改。