在 Javascript 中路由(多个文件)

Routing in Javascript (multiple files)

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

Routes.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}})

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

Routes.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}})

除了 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