永远node.js – 监视文件更改的目录

如果在其目录或下面检测到任何文件更改,我希望我的节点应用程序index.js能够重新启动。 另外,我希望进程处于前台,将日志输出到terminal。 什么是命令?

我的尝试:

forever stopall

forever -w /home/patrick/workspace/frontend-api/index.js

结果:

 warn: --minUptime not set. Defaulting to: 1000ms warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms error: Could not read .foreverignore file. error: ENOENT, open '/.foreverignore' error: restarting script because unlinkDir changed events.js:72 throw er; // Unhandled 'error' event ^ Error: watch EACCES at errnoException (fs.js:1024:11) at FSWatcher.start (fs.js:1056:11) at Object.fs.watch (fs.js:1081:11) 

好像你需要nodemon

 npm install -g nodemon 

然而,在我的Windows服务器,我使用https://github.com/tjanczuk/iisnode多核心服务器上的可扩展性

从我的理解(关于这个的文档是不存在的,我可以看到)。 -w--watch函数永远检查一个.foreverignore文件,如果这个文件丢失了,那么程序本质上会失败,并且会陷入一个永远不会启动模块的循环中。

在您的应用程序目录中创build一个名为.foreverignore的文件,并列出您不想永远观看的所有内容。 这基本上告诉永远忽略这些文件的变化,如果有什么事情发生,不要重新启动,这对于日志文件或事实并非实际需要您的模块重新启动才能从中受益。

这是从我的实施中取得的一个例子:

文件:

 /apps/myapp/.foreverignore 

内容

 node_modules/* logs/* conf/* htdocs/* *.log *.gif *.jpg *.html 

一旦创build,确保您永远重新启动文件。