express 如何不用重启也能修改路由?
因为每次重启express都挺慢的,所以求教有什么方法可以修改express的路由也不用重启
例如有一个路由 /api
,我想修改回调函数的内容也不用重启express
暂时想到一个方法就是
app.use('/api', (req, res) => {
require('./api-route')(req, res)
}
// ./api-route.js
module.exports = function(req, res) {
// 可以随意改不用重启,因为是动态加载的
}
但缺点就是新增路由,例如增加一个/api2
, 这样还是要重启express。
请问有什么更好的方法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不重启怎么生效……
还是用 nodemon 吧
只要你更新了,command+S保存修改的代码,服务就会自动刷新。也就能达到不用重启服务的问题
每个 require 的 模块文件 会被 node 缓存起来
可以先
fs.watch(你的路由文件)
拿到 更改的文件名, 重置你的 缓存,或者清空然后 拿到 新文件 , 用虚拟机 重新编译 代码
然后 重新 require(更改的文件名)
这样热更之后 应该就能达到你要的效果
https://cnodejs.org/topic/5977fe1068aa87c774e5ebf2