モジュールファイルquery-type.js
にあるオブジェクトを、switch文に渡される文字列に基づいてグローバル変数(app.js
)に渡そうとしていますが、何らかの理由で私のケースでコンソールログが正しくparams
オブジェクトを出力しているにもかかわらず、私のグローバルparams
に値を設定しているようです。私のconsole.log(params)
はどちらの場合でも実行されていますが、グローバルスコープconsole.log('These are the params ' + params);
は表示されません。なぜこの現象が起こっているのかについての考えはありますか?Javascript - Nodejsグローバル変数が変更されない
グローバルJSファイル(スイッチおよびグローバル変数):
function keywordQuery(auth) {
var authSheets = auth;
var siteUrl = encodeURIComponent('http://www.test-site.com/');
var params;
switch(process.argv[2]){
case "allTrafficQuery":
params = webmasterQuery.allTrafficQuery(auth, siteUrl);
return console.log(params);
break;
case "usaTrafficQuery":
params = webmasterQuery.usaTrafficQuery(auth, siteUrl);
return console.log(params);
break;
default:
params = ("Error");
}
console.log('These are the params ' + params);
}
モジュールファイル:あなたのswitch
文ケース内が
module.exports = {
allTrafficQuery: function(authToken, siteUrlEncoded){
var allTraffic = {
auth: authToken,
siteUrl: siteUrlEncoded,
resource: {
'dimensions': ['query']
}
}
return allTraffic;
},
usaTrafficQuery: function(authToken, siteUrlEncoded){
var usaTraffic = {
auth: authToken,
siteUrl: siteUrlEncoded,
resource: {
'dimensions': ['query'],
'dimensionFilterGroups': [{
'filters': [{
'dimension': 'country',
'operator': 'equals',
'expression': 'USA'
}]
}]
}
}
return usaTraffic;
}
};
さて、あなたは 'keywordQuery()'をどこで呼びますか? – Bergi