Как использовать «требовать» динамически в JavaScript? - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть функция javascript в файле "sample.js". Это так:

var mapDict = { '100': 'test_100.js', '200': 'test_200_API.js', '300': 'test_300_API.js' }

function mapAPI()
{
    this.version = 0.1;
}

mapAPI.prototype.getFileName = function( id ) {
   return mapDict[id]
}

module.exports = mapAPI;

в другом файле с именем "institute.js". Я хочу, чтобы динамически запрашивались вышеупомянутые файлы "test_xxx_API". У меня есть следующий код:

const mapAPI  = require('../../sample.js');
const map     = new mapAPI();
const mapFile = map.getFileName("100");
var insAPI    = require(mapFile);

Когда я запускаю этот код командой "node institute.js", я получаю следующую ошибку:

Error: Cannot find module './test_100_API.js'.

Но файл "test_100_API.js" существует и находится в текущей папке, кроме "institute.js". Когда я изменил var insAPI = require(mapFile); на var insAPI = require("./test_100_API.js"); и дал ему точный путь вместо динамического, он работал нормально. Кто-нибудь может мне помочь?

Заранее спасибо

...