2016-05-10 8 views
1

私はjavascriptとnode.jsを使用しています。これはエラーになりますjavascriptのrequireに変数を渡す

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":[] 
       } 
       ] 
} 
+0

var path = require(__dirname + "yourpath"); 

これは

EDITを助けたなら、私に教えてください。おそらくあなたのノードのバージョンに問題がありますか?これは最新バージョンでこれを試していますか? –

+0

バージョン5.10.1を使用しています。私はそれが最新バージョンだと思います。 – medha

+0

サイトの最新のバージョンは6.1.0ですが、これを5.9.1で試してみましたが、うまくいきました。多分これはあなたが持っているOS関連の問題ですか?私は窓7でこれを試した –

答えて

0

この:私はあなたのコードをコピーし、それが正常に動作します

var jsonPath = require(__dirname + '/../' + countryName + '/PersonalDetails.json'); 
+0

私のコードに基づいて明確にすることができますか?正確に何を使用する必要がありますか? – medha

+0

編集した私の答え – nova

+0

/views\suspects/../Turkey/PersonalDetails.jsonこれは私が上記の行を使用する場合に得られるパスです。 '/'の代わりに '\'を使用する必要がありますか? – medha