2017-02-21 2 views
0

Я хочу создать бот раздора, поэтому я хочу, чтобы мой файл main.js подключался к разладке и импортировал все файлы из папки с именем «add- ons ", например, я хочу, чтобы main.js импортировал mod.js, которые содержат все команды модерации без необходимости их импорта вручную и все еще используют функции и т. д., если это возможно, было бы здорово, если кто-то может помочьКак я могу импортировать все из определенной папки, чтобы использовать ее в файле Javascript

+0

Вы используете Узел? – SimpleJ

+0

Да, используя узел извините, я не упомянул, что – KingCosmic

+0

Не делайте этого. Вы должны использовать 'require()'. – SLaks

ответ

0

вы ищете fs.readdir метод, который считывает содержимое каталога:

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(); 
    }); 
}) 
+0

спасибо за ответ, я получаю сообщение об ошибке с этим высказыванием. Не могу найти модуль mod.js – KingCosmic

+0

'require' нужен путь модуля, который будет прописан. Код был изменен. –

0

я предполагаю, вы используете Node.js, так что здесь есть несколько возможностей.

  1. Создайте файл addons/index.js где экспортировать всю другую зависимость (через требует), то необходим файл index.js.
  2. Использование require-all -package
  3. Напишите пользовательский загрузчик с fs, который выполняет итерацию по файлам и требует их динамического использования. Отъезд fs.readdir для этого.