express 可以动态加载路由吗?

用express起个服务:

var express = require('express');
var app = express();
app.get('/index.html', function(req, res) {
});
app.listen(port, function() {
    console.log('Listening on port %d', port);
});

此时,如果我向app中添加新的路由:

app.get('/login.html', (res, req, next)=>{
    //login in page
  }
)

那么我必须要重启express
那么问题来了:
如果每次添加新的路径(route)都需要重启一次express服务器。我希望在不重启express情况下,给express添加一个动态的路由表,以后开发出新页面,向路由表中添加对应的路由和静态资源文件路径,不重启express就能访问到新页面。
上述需求express配合router或者其他中间件能做到吗?

阅读 6.2k
3 个回答

安装 npm i supervisor -g
使用supervisor app.js 启动
后面则会自动检测你的文件变化,一旦变化则会自动重启

不可以实现,修改路由后要重新加载

直接添加

    setTimeout(() => {
        app.use('/rpc(/*)?', function (req, res) {
            res.header("Access-Control-Allow-Origin", "*");
            console.log("param", req.param("name"))
            // console.log(JSON.stringify(req, null, 4))
            res.json({ mock: 'mock数据2' });
        });
    }, 10000);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进