我使用fs.appendFileSync(...)将新路由附加到路由JavaScript文件,但是,由于需要重新启动Node.Js来重新加载文件,因此无法访问附加路由。我只需要重新加载正在附加的文件。
var express = require('express');
var router = express.Router();
module.exports = router;
/* New Routes are appended here.
Example:
router.get('/bobby', function(req, res, next){
});
*/
我已经在Stack Overflow上搜索了重新加载文件的方法而没有重新启动服务器,但所有问题只涉及自动重新加载开发,而不是真实的。我已经看到了Nodemon和Node-Supervisor的建议,但是那些人认为它只是用于开发。
这可能是一个愚蠢的问题,但我不知道如何解决它。
感谢您的阅读。
答案 0 :(得分:3)
您可以使用require-reload
来执行此操作。您应该有一个文件,您可以在其中导入要添加新代码的router.js
模块,该文件应如下所示:
var reload = require('require-reload')(require),
var router = reload('router.js');
每次添加新代码时都应该这样做:
try {
router = reload('router.js');
} catch (e) {
console.error("Failed to reload router.js! Error: ", e);
}
express-route-refresh
模块也可以派上用场。事实上,在内部它也使用require-reload
。