我的所有路由都在 server.js 中,但我想将其模块化并放入一个名为 routes 的文件夹中。我在 routes 文件夹中创建了一个名为 apis.js 的文件,但当我这样做时,我得到了 TypeError: app.post is not a function
服务器.js:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var urlencode = bodyParser.urlencoded({ extended: true});
app.use(express.static('public'));
var apis = require('./routes/apis');
app.use('/', apis);
module.exports = app;
apis.js:
module.exports = function(app){
app.get('/', function(req, res) {
res.send('OK');
});
app.post('/idea', function(req, res) {
...
});
};
此外,在 server.js 中使用 module.exports = app
很重要,因为我要运行测试并且每次都需要一个应用程序实例。
我错过了什么?
最佳答案
更好的方法:-
服务器.js
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var urlencode = bodyParser.urlencoded({ extended: true});
app.use(express.static('public'));
var apis = require('./routes/apis');
app.use('/', apis);
module.exports = app;
apis.js :-
var router = require('express').Router();
router.post('/url',function(req,res,next){
//your code
})
module.exports = router
关于javascript - app.post 不是函数表达 Node ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38758198/