如何在javascript中动态使用“ require”?

时间:2018-11-14 18:01:36

标签: javascript node.js require

“ sample.js”文件中有一个javascript函数。就像这样:

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");并为其指定确切路径而不是动态路径时,它可以正常工作。谁能帮我吗?

预先感谢

0 个答案:

没有答案