当前位置: 首页 > 面试题库 >

如何在Node.js中自动重新加载文件?

郑帅
2023-03-14
问题内容

关于如何在Node.js中实现文件自动重装的任何想法?每次更改文件时,我都无法重新启动服务器。显然,Node.js的require()功能不会重新加载文件(如果已经需要),因此我需要执行以下操作:

var sys     = require('sys'), 
    http    = require('http'),
    posix   = require('posix'),
    json    = require('./json');

var script_name = '/some/path/to/app.js';
this.app = require('./app').app;

process.watchFile(script_name, function(curr, prev){
    posix.cat(script_name).addCallback(function(content){
        process.compile( content, script_name );
    });
});

http.createServer(this.app).listen( 8080 );

app.js 文件中,我有:

var file = require('./file');
this.app = function(req, res) { 
    file.serveFile( req, res, 'file.js');  
}

但这也不起作用-我在process.compile()声明“ require”未定义的语句中遇到错误。process.compile正在逃避
app.js ,但不知道node.js全局变量。


问题答案:

一个很好的,最新的替代方法supervisornodemon

监视node.js应用程序中的任何更改并自动重启服务器-非常适合开发

使用方法nodemon

$ npm install nodemon -g
$ nodemon app.js


 类似资料:
  • 如何使pm2在文件更改时自动重新加载项目?

  • 问题内容: 有没有办法让IPython自动重新加载所有更改的代码?在外壳中执行每行之前,或者在明确要求时失败。我正在使用IPython和SciPy进行很多探索性编程,每当更改模块时都必须手动重新加载每个模块,这是很痛苦的。 问题答案: 对于IPython版本3.1、4.x和5.x 然后,您的模块将默认 自动重新加载 。这是文档: 有一个窍门:当您使用时 忘记 以上 所有 内容时,请尝试:

  • 我在我的应用程序中使用导航栏,每次我选择一个项目时,它都会加载一个片段。 我能够使用相同的文本字段和按钮保存片段的状态,但有一个片段可以加载地图、添加标记、集群并执行。 每次我转到另一个菜单项并返回时,它都会重新加载所有内容,例如AsyncTask、Cluster、Markers。我如何停止此片段以不再重新创建地图并在返回时保存状态: Udate 1:我更新了代码,但问题仍然存在 主要活动: 主片

  • 我正在我的机器上运行服务器。我想在更改代码后停止自动重新加载。我正在以=运行应用程序 我正在使用的命令= 感谢任何帮助。

  • 对于spring framework,我想手动重新加载属性文件中的数据。实际上,当我手动运行这个servlet文件时,我必须编写一个重新加载servlet来手动重新加载数据。 我已经为MessageSource定义了Spring配置。 但不希望在特定时间段自动加载,例如,设置时可以自动加载: 我以前尝试过clear缓存(),但没有自动加载。

  • 问题内容: 如果我导入的模块定义了属于同一个包的同名类,则由于父包的__init__.py,它将作为类而不是模块导入。有关详细信息,请在不同目录中查看不同的导入结果。在Python Shell或ipython Shell中,如果我这样做 MyModule始终作为Class导入,因此我无法重新加载它(reload()仅适用于模块)。跑 再次似乎不更新类定义。有人可以建议一种在python shell