我想使用路由器嵌套路由,就像我们使用命名空间 - >
一样app.namespace('/', function () {
app.get('/', main.index);
app.get('contact', main.contact);
app.get('about', main.about);
});
/* user */
app.namespace('/user', function () {
app.get('login', user.login);
app.get('logout', user.logout);
// an example of namespace in namespace
app.namespace('/settings', function () {
app.get('/', user.settings);
app.get('profile', user.profile);
});
/* REST CRUD */
//read
app.get('/:id?', user.read); // if is not set, go to user profile
//create
app.post('/', user.add);
//update
app.put('/', user.update);
//remove
app.delete('/', user.destroy);
});
我只想嵌套与上面相同但使用路由器的路由。如何???
答案 0 :(得分:0)
我找到了解决方案并在此解释......
在app.js文件中: -
var express = require('express');
var routes = require('./ routes / index');
var app = express();
app.use('/',routes);
在./routes/index.js
router.get('/',function(req,res){ // 主页 ..... });
router.get('/ navigation1',function(req,res){ // Nav1页面 ..... });
&安培;更多导航.....
我在这里给了一些链接。看看......
https://scotch.io/tutorials/learn-to-use-the-new-router-in-expressjs-4
答案 1 :(得分:0)
您可以使用此套餐: https://www.npmjs.com/package/express-namespace-routes
const express = require('express');
const routes = require('express-namespace-routes');
const app = express();
routes.prefix('/user', (user) => {
user.post('/', (req, res) => res.send(''));
user.get('/', (req, res) => res.send(''));
user.get('/:id', (req, res) => res.send(''));
user.delete('/:id', (req, res) => res.send(''));
user.put('/:id', (req, res) => res.send(''));
user.prefix('/settings', (settings) => {
settings.post('/', (req, res) => res.send(''));
});
});
app.use(routes);