在运行时添加路由(ExpressJs)

时间:2015-09-26 19:13:36

标签: javascript node.js express routes runtime

我想在运行时添加路由。我读到它可能但我不太确定如何。目前我使用以下代码:

var app = express();

function CreateRoute(route){
app.use(route, require('./routes/customchat.js'));
}

自定义聊天看起来像

var express = require('express');
var router = express.Router();

router.route('/').get(function (req, res) {
var url =  req.baseUrl;
var roomname = url.substring(url.lastIndexOf('_') + 1);
res.render('chat', { name: roomname , year: new Date().getFullYear().toString()});
});

module.exports = router;

当我在开始收听之前调用方法CreateRoute时,它会链接路径。但是当我在运行时这样做时,它不会创建一个新的路线。 我的目标是添加路由添加运行时。我将生成一个像/ room_Date这样的路径。这应该在运行时使用模板自定义聊天添加。

我使用的是快递版4.13。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

customchat.js应该叫customChat.js并且是

const customChat = (req, res) => {
  const { name } =  req.params;
  const year = new Date().getFullYear().toString();
  res.render('chat', { name , year });
}

module.exports = customChat

然后在创建应用时

const express = require('express')
const customChat = require('./routes/customChat.js')
const app = express()

app.use('/chat/:name', customChat)

有关更多信息,请参见the official Express routing文档。