从同一个文件和不同的文件调用nodejs函数

时间:2014-10-30 06:40:57

标签: javascript node.js

Model.js文件包含以下条目

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)文件中调用Update方法

2 个答案:

答案 0 :(得分:4)

在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 :(得分:2)

您必须首先定义函数,然后像这样导出函数 -

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

module.exports={
  update:update
}

通过执行此操作,您可以从文件内部和外部访问“update()”函数。