簡體   English   中英

將對象傳遞到require模塊時,Node.js參考錯誤

[英]Node.js Reference error while passing an object to a require module

我正在嘗試開發Node.js Web應用程序,並且正在嘗試將一些初始化步驟委托給其他模塊

我的server.js文件

var express = require('express')
var app = express();  
var appInfo = {
    port:8000,
    appName:'MyApp',
    authExceptions:[],
    addExceptions:function(exceptionString){      
      authExceptions.push(exceptionString);
    }
};
var appConfigFile = '../MyApp/config';
logMsg('Reading file:'+appConfigFile); 
require(appConfigFile)(app,appInfo);
app.listen(appInfo.port);

我的config.js文件是

module.exports=function(app, appInfo){
   appInfo.addExceptions('/employee/*');
}

當我運行它時,出現以下異常

ReferenceError: authExceptions is not defined
    at Object.applicationInfo.(anonymous function).addExceptions(c:\my
projects\Server\server.js:8:7)

我認為JavaScript通過引用傳遞對象,所以我想知道為什么會出現此錯誤。 請幫助並提前感謝

您正在將authExceptions視為當前范圍內 的(全局)變量 和可解決的(免費)變量,但事實並非如此:它是appInfo對象的屬性。

嘗試以下方法:

...
addExceptions: function(exceptionString) {      
  this.authExceptions.push(exceptionString);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM