Car*_*izz 1 javascript node.js express
我正在尝试将我的所有路线重定向/api到一个manager.js然后将其路由到的路线/me.
所以,一个完全合格的请求/me应该是这样的/api/me.在Express 3.x中,将路由分割成单独的文件很容易,但我在4.0中遇到了麻烦.
app.js
app.use('/api',require('./routes/manager'));
Run Code Online (Sandbox Code Playgroud)
manager.js
var express = require('express');
var manager = express.Router();
module.exports = function() {
manager.use('/me',require('../routes/me'));
};
Run Code Online (Sandbox Code Playgroud)
me.js
var express = require('express');
var me = express.Router();
module.exports = function() {
me.route('/')
.get(function(req,res){
res.send("Welcome to Me");
});
};
Run Code Online (Sandbox Code Playgroud)
当我去localhost:8080/api/me,没有任何反应,页面继续加载.
谢谢你的帮助!
你没有完全正确地穿过这些Router物体.请记住,这是您要做的事情:
app.use('/api', express.Router());
Run Code Online (Sandbox Code Playgroud)
但你现在有效地做的是:
app.use('/api', function(){
express.Router()
});
Run Code Online (Sandbox Code Playgroud)
因此,您应该导出Router自身,而不是导出函数.
manager.js
var express = require('express');
var manager = express.Router();
manager.use('/me',require('../routes/me'));
module.exports = manager;
Run Code Online (Sandbox Code Playgroud)
me.js
var express = require('express');
var me = express.Router();
me.route('/').get(function(req,res){
res.send("Welcome to Me");
});
module.exports = me;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1898 次 |
| 最近记录: |