节点JS调用module.exports中的“本地”function
如何从module.exports声明的另一个函数中调用函数?
我有MVC结构节点js项目和一个名为TestController.js的控制器。 我想访问控制器内的方法,但使用this
关键字给出了下面的错误:
不能调用未定义的方法getName
"use strict" module.exports = { myName : function(req, res, next) { // accessing method within controller this.getName(data); }, getName : function(data) { // code } }
如何访问控制器内的方法?
我find了解决办法:-)
"use strict" var self = module.exports = { myName : function(req, res, next) { // accessing method within controller self.getName(data); }, getName : function(data) { // code } }
也许你可以这样做。 它减less了嵌套。 所有的导出都在文件的最后完成。
"use strict"; var _getName = function() { return 'john'; }; var _myName = function() { return _getName(); }; module.exports = { getName : _getName, myName : _myName };
您可以访问getName
函数槽module.exports
。 像这样:
"use strict" module.exports = { myName : function(req, res, next) { // accessing method within controller module.exports.getName(data); }, getName : function(data) { // code } }