2014-10-30 33 views
1

Model.js文件具有以下條目調用從的NodeJS相同的文件,並從不同的文件

exports.update = function(tag,view,date){ 
{ 
    ..... 
    .... 
} 

,並呼籲像

update('test','1213','11/10/2014') 

功能,它拋出下面的錯誤,

功能
update('test','1213','11/10/2014') 
^ 
ReferenceError: update is not defined 

我可以從不同的文件調用更新模塊,沒有任何錯誤這

var model = require('./Model'); 
model.update('test','1213','2001/1/23') 

的問題是如何可以調用從相同的JS的更新方法(Model.js)文件

回答

3

在model.js

exports.update = function update(tag, view, date) { ... } 
exports.update('red', 'colors', new Date()) 

而且考慮宣佈一個局部變量,如果你(在一個循環等)經常調用的方法

var update = exports.update = function update(tag, view, date) { ... } 
update('red', 'colors', new Date()) 

內部foo.js

var update = require('./model').update 
update('yellow', 'colors', new Date()) 

從問題本身不清楚更新方法的作用以及哪些數據,因此如果您提供真實代碼,可能會調整答案。

1

你必須首先從內部定義函數,然後導出函數像這個 -

var update=function(tag,view,date){ 
 
...... 
 
} 
 

 
module.exports={ 
 
    update:update 
 
}

通過這樣做,你可以訪問「更新()」功能,以及作爲文件的外部。

+0

這也是一個很好的做法,使您的文件的特定部分專用於您導出的內容。 – kilianc 2014-10-30 09:35:29

相關問題