我把所有的路由都放在了 server.js 文件中,但我想要让它更加模块化并将其放入名为 routes 的文件夹中。我在 routes 文件夹中创建了一个名为 apis.js 的文件,但是当我这么做时,出现了“TypeError: app.post 不是函数”的错误。
server.js:
此外,在 server.js 文件中有
我错过了什么吗?
server.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
是很重要的,因为我正在运行测试,并且我希望每次都有一个 app 实例。我错过了什么吗?
app.use
来挂载路由器,可以使用express.Router()
创建另一个路由器。我已经更新了我的答案。 - dtkaias