app.post不是函数表达节点
我在server.js中拥有所有路由,但我想将其模块化并放入名为routes的文件夹中。我在routes文件夹中创建了一个名为apis.js的文件,但正如我所做的那样,我得到了TypeError: app.post is not a function
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实例。
我错过了什么?
回答如下:更好的方法: -
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: -
var router = require('express').Router();
router.post('/url',function(req,res,next){
//your code
})
module.exports = router
app.post不是函数表达节点
我在server.js中拥有所有路由,但我想将其模块化并放入名为routes的文件夹中。我在routes文件夹中创建了一个名为apis.js的文件,但正如我所做的那样,我得到了TypeError: app.post is not a function
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实例。
我错过了什么?
回答如下:更好的方法: -
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: -
var router = require('express').Router();
router.post('/url',function(req,res,next){
//your code
})
module.exports = router