如何使用;要求;动态地使用javascript?
我在“sample.js”文件中有一个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
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中不起作用。