2011-12-19 295 views
2

我想將一些函數分解成一個名爲helpers.js的文件,其中我已經放置了下面顯示的代碼。我應該怎麼做才能訪問我的方法中的app變量,以便能夠獲取我的配置元素Path從node.js模塊訪問全局變量?

Helpers = { 

    fs: require('fs'), 

    loadFileAsString: function(file) { 
     return this.fs.readFileSync(app.set('Path') + file)+ ''; 
    } 
} 

module.exports = Helpers; 

回答

3

所以從我看到你需要的app變量表格Express。你可以把它作爲一個函數參數去loadFileAsString,爲前:

helpers.js

Helpers = { 

    ... 

    loadFileAsString: function(file, app) { 
     return this.fs.readFileSync(app.set('Path') + file)+ ''; 
    } 
} 

module.exports = Helpers; 

some_file.js

app = express.createServer(); 
... 
helpers = require('./helpers.js'); 
helpers.loadfileAsString(file, app); 

如果您希望應用程序是全球性的儘管您也可以這樣做:global.app = app,您可以在任何地方訪問應用程序,而不必將其作爲函數參數發送。