在文件更改

时间:2015-06-02 07:41:51

标签: node.js

如您在node.js中所知,如果您编辑服务器端文件,则需要重新启动应用程序才能进行更改。
现在我想知道有没有办法在服务器内部执行此操作,因为我们知道文件何时更改(基于上次修改日期),我们只需要重新运行应用程序或重新启动它或执行某些操作如果没有我们从命令行执行更改,则可以进行更改 我们都知道如何使用Grunt.js(或类似的东西)或supervisor执行此操作,但我想在没有任何外部包的情况下执行此操作。
非常感谢:)。

3 个答案:

答案 0 :(得分:2)

您最初可以让服务器启动,以便在结束时再次启动。在Bash文件中,它只是一个递归函数。

function start(){
    node index.js
    start
}

或者在批处理文件中使用goto语句

:start
node index.js
goto start

然后在您的节点服务器中检测到文件更改时,您只需结束该过程

为了观看文件,那里的模块更容易。例如。 watch

require('watch').watchTree('./server', process.exit);

答案 1 :(得分:0)

您可以使用此方法来查看必须在更改时重新启动服务器的文件: https://nodejs.org/api/fs.html#fs_fs_watchfile_filename_options_listener

答案 2 :(得分:0)

使用cluster.fork运行子进程中的所有代码,并将主进程设置为在前一个子进程退出时分叉一个新子进程。然后使用chokidar简单地在文件更改时强行退出子项。

RKResponseDescriptor(mapping: userMapping, method: .GET, pathPattern: "user/:identifier/premises", keyPath: nil, statusCodes: RKStatusCodeIndexSetForClass(.Successful))