在javascript中的require中传递变量
我正在使用javascript和node.js。我的代码中有以下行:在javascript中的require中传递变量,javascript,node.js,Javascript,Node.js,我正在使用javascript和node.js。我的代码中有以下行: var countryName = "Turkey"; var jsonPath = '../'+countryName+'/PersonalDetails.json'; console.log(jsonPath); var PersonalDetails = require(jsonPath); 这会导致错误:找不到模块“../Turkey/PersonalDetails.json” 但是当我使用 var Personal
var countryName = "Turkey";
var jsonPath = '../'+countryName+'/PersonalDetails.json';
console.log(jsonPath);
var PersonalDetails = require(jsonPath);
这会导致错误:找不到模块“../Turkey/PersonalDetails.json”
但是当我使用
var PersonalDetails = require('../Turkey/PersonalDetails.json');
它很好用。我错过了什么
同时附上我的json文件以供参考
{
"fields":[
{
"fieldType":"Radio",
"fieldLabel":"Relevance to the transaction :",
"disclosureField":"" ,
"fieldList":["One carrying out the transaction","One on behalf of him/her the transaction is carried out","Indirect Relevance"]
},
{
"fieldType":"Radio",
"fieldLabel":"Is ID Card False",
"disclosureField":"",
"fieldList":["Yes","No"]
},
{
"fieldType":"Radio",
"fieldLabel":"Sex :",
"disclosureField":"gender",
"fieldList":["Male","Female","Unknown"]
},
{
"fieldType":"TextInput",
"fieldLabel":"First Name",
"disclosureField":"identity.first_name",
"fieldList":[]
},
{
"fieldType":"TextInput",
"fieldLabel":"SurName",
"disclosureField":"identity.last_name",
"fieldList":[]
},
{
"fieldType":"NumberInput",
"fieldLabel":"TR ID Number :",
"disclosureField":"",
"fieldList":[]
},
{
"fieldType":"NumberInput",
"fieldLabel":"Tax Number :",
"disclosureField":"",
"fieldList":[]
},
{
"fieldType":"TextInput",
"fieldLabel":"Mother's Name :",
"disclosureField":"",
"fieldList":[]
},
{
"fieldType":"TextInput",
"fieldLabel":"Father's Name :",
"disclosureField":"",
"fieldList":[]
},
{
"fieldType":"TextInput",
"fieldLabel":"Nationality :",
"disclosureField":"nationality",
"fieldList":[]
},
{
"fieldType":"TextInput",
"fieldLabel":"Occupation :",
"disclosureField":"occupation",
"fieldList":[]
},
{
"fieldType":"TextInput",
"fieldLabel":"Additional Information :",
"disclosureField":"",
"fieldList":[]
}
]
}
您可以通过以下方式定义链接路径:
var path = require(__dirname + "yourpath");
让我知道这是否有用
编辑:
您可以通过以下方式定义链接路径:
var path = require(__dirname + "yourpath");
让我知道这是否有用
编辑:
我复制了你的代码,效果很好。可能您的node版本有问题。您是否正在使用最新版本进行尝试?我使用的是版本5.10.1。我想这是最新的版本。网站上的最新版本是6.1.0,但没关系。我在5.9.1上试过,效果很好。也许这是一个操作系统相关的问题,你有哪些?我在windows 7上试过这个是的我也在使用windows 7我想你的json文件有问题你试过验证它吗?另外请注意,如果它是空的,这也是一个问题,我只是尝试了一个空文件,它给出了一个错误我复制了你的代码,它工作正常。可能您的node版本有问题。您是否正在使用最新版本进行尝试?我使用的是版本5.10.1。我想这是最新的版本。网站上的最新版本是6.1.0,但没关系。我在5.9.1上试过,效果很好。也许这是一个操作系统相关的问题,你有哪些?我在windows 7上试过这个是的我也在使用windows 7我想你的json文件有问题你试过验证它吗?另外请注意,如果它是空的,这也是一个问题,我只是尝试了一个空文件,它给出了一个错误,你能根据我的代码澄清它吗。究竟需要使用什么?/views\suspects/./Turkey/PersonalDetails.json。如果我使用上面的线,这就是它得到的路径。我是否需要使用“\”而不是“/”?/views\suspects/您看到有一个错误的斜杠,我想您需要修复这个问题,但是/views\suspects来自于\u dirname。_dirname的值为/views\suspectsTry var jsonPath=require(u dirname+'/'+countryName+'/PersonalDetails.json');你能根据我的代码澄清一下吗。究竟需要使用什么?/views\suspects/./Turkey/PersonalDetails.json。如果我使用上面的线,这就是它得到的路径。我是否需要使用“\”而不是“/”?/views\suspects/您看到有一个错误的斜杠,我想您需要修复这个问题,但是/views\suspects来自于\u dirname。_dirname的值为/views\suspectsTry var jsonPath=require(u dirname+'/'+countryName+'/PersonalDetails.json');