Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.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中的require中传递变量_Javascript_Node.js - Fatal编程技术网

在javascript中的require中传递变量

在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

我正在使用javascript和node.js。我的代码中有以下行:

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');