У меня есть route.js, который выглядит следующим образом:Как настроить динамические маршруты с express.js
module.exports = function(app) {
app.get('/tip', function(req, res) {
res.render("tip");
});
app.get('/article', function(req, res) {
res.render("article");
});
app.get('/article1', function(req, res) {
res.render("article1");
});
app.get('/article2', function(req, res) {
res.render("article2");
});
app.get('/article3', function(req, res) {
res.render("article3");
});
app.get('/modules/:name', function(req, res) {
var name = req.params.name;
res.render('modules/' + name);
});
app.get('/modules/esaver/:name', function(req, res) {
var name = req.params.name;
res.render('modules/esaver/' + name);
});
};
Учитывая я есть более 200 различных маршрутов для создания, я бы в конечном итоге с вещами, как «» статье 1 'Статья 2' и т.д.
и мой app.js, как:
var express = require('express')
,http = require('http')
,fs = require('fs')
,path = require('path');
var app = express();
html_templates = __dirname + '/html_templates';
app.set('views', html_templates + '/views');
app.set('view engine', 'jade');
app.use('/Core', express.static(__dirname + '/Core'));
app.listen(3000, function() {
console.log("express has started on port 3000");
});
require('./html_templates/controller/routes.js')(app);
есть ли динамический способ создать это?
Я получил его, чтобы работать без него? в конце маршрута, какое-либо значение? –
@AdamF '' 'делает' req.params.name' или ': name' необязательным. например Вышеуказанный путь соответствует '/' пустым ': name' и '/ article2', но не'/abc'. –
Вы можете найти этот онлайн-экспресс-тестер Express (http://forbeslindesay.github.io/express-route-tester/). –