Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用;要求;动态地使用javascript?_Javascript_Node.js_Require - Fatal编程技术网

如何使用;要求;动态地使用javascript?

如何使用;要求;动态地使用javascript?,javascript,node.js,require,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.exp

我在“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\uxxx\uAPI”文件。我有以下代码:

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”)并为其指定精确路径,而不是动态路径,它可以正常工作。有人能帮我吗


提前感谢

在磁盘中找到这些动态文件的地方,您需要包括完整路径,例如
require(\u dirname+mapFile)如果在同一文件夹中,则查找路径,而不只是文件名下的路径,而是整个路径。然后使用此
require('./'+mapFile)它们位于同一文件夹中。我的问题是,当我使用
var insAPI=require(mapFile)
并打印
mapFile
值时,它正好在控制台中打印
/test\u 100_API.js'。我的代码在使用
var insAPI=require(“/test\u 100\u API.js”)时正常工作,但在使用
var insAPI=require(mapFile)时出错。这是一个奇怪的部分。看看这个线程,但是在resume中,你需要做的是要求(`/${path}/file.js`)@NikosM.,这种方法在react native中不起作用。