本文介绍了app.post不是函数表达节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在server.js中拥有所有路由,但我想将其模块化并放入名为routes的文件夹中。我在routes文件夹中创建了一个名为apis.js的文件但是我这样做了 TypeError:app.post不是函数
I had all my routes in server.js but I wanted to make it modular and put into a folder called routes. I created a file called apis.js in routes folder but as I did that I get TypeError: app.post is not a function
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) { ... }); };另外,拥有 module.exports = app 在server.js中很重要,因为我有测试运行,我每次都想要一个app实例。
Also, having module.exports = app in server.js is important as I have tests running and I want a instance of app everytime.
我缺少什么?
推荐答案更好的方法: -
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: -
apis.js :-
var router = require('express').Router(); router.post('/url',function(req,res,next){ //your code }) module.exports = router更多推荐
app.post不是函数表达节点
发布评论