`` entry.run` не является функцией ', и все же это - PullRequest
0 голосов
/ 04 мая 2019

Итак, у меня были проблемы в последнее время.С помощью расширенного модуля Map, который называется Enmap, я могу загружать в него модули, получать доступ и использовать записи.

Модули, которые я загружаю:

export const name = 'foo';

export const run = async (bar, baz) => {

};

И вот как они отображаются, когда я регистрирую его на консоли:

[Module] {
  name: 'foo',
  run: [AsyncFunction: run]
}

Теперь вот как яЯ извлекаю и загружаю их в enmap:

// Loading them in main.js
import Enmap from 'enmap';
import { readdirSync } from 'fs';

const myEnmap = new Enmap();

const files = readdirSync('./folder/');

// No await in a .forEach() function
for (let i = 0; i < files.length; i++){
  const file = await import(`./folder/${files[i]}`);
  myEnmap.set(file.name, file);
}

// Retrieving in otherFile.js
// Let's assume I have it imported here as well

const input = userInputHere;
const entry = myEnmap.get(input);

// Check to see if the user input is a name of one of the modules,
// and if not, doing nothing
if(!entry) return;

entry.run(bar, baz);

Это когда я получаю сообщение об ошибке, утверждая, что entry.run не является функцией предположительно.Это должно быть функцией, но я не уверен, почему это произойдет.

...