0

我正在访问api.jsRoutes.js但我收到一个my_function_in_api未定义函数的错误。我的代码如下,请指教问题出在哪里:

路由.js

var val = require('file name')

modules.exports = function(app){ app.get('/test_function',function(req,res){ val.my_function_in_api(req,res)})

api.js

module.exports = (function() { return { my_function_in_api: function(req,res) { // do something}})

4

2 回答 2

0

我认为您应该使用 var val = require("./api.js")我猜是文件名来要求 api.js,但请务必添加./您创建的文件的要求。

路由.js

var val = require('./api.js') //observe the "./" before the api.js

modules.exports = function(app){
app.get('/test_function',function(req,res){
val.my_function_in_api(req,res)})

api.js

module.exports = (function() {
return {
my_function_in_api: function(req,res) {
// do something}})
于 2018-02-09T14:31:51.670 回答
0

除了 Fischer 的回答,您正在从 api.js 作为函数导出,因此在 Routes.js 中您需要实际调用从 api.js 导出的默认函数:

val().my_function_in_api // etc

完整代码:

var val = require('./api.js') //observe the "./" before the api.js

modules.exports = function(app){
app.get('/test_function',function(req,res){
val().my_function_in_api(req,res)}) // notice the parentheses after val
于 2018-02-09T14:33:28.183 回答