zoukankan      html  css  js  c++  java
  • nodejs自动热加载文件的做法

      https://stackoverflow.com/questions/1972242/how-to-auto-reload-files-in-node-js

    ----------------------------

    If somebody still comes to this question and wants to solve it using only the standard modules I made a simple example:

    var process = require('process');
    var cp = require('child_process');
    var fs = require('fs');
    
    var server = cp.fork('server.js');
    console.log('Server started');
    
    fs.watchFile('server.js', function (event, filename) {
        server.kill();
        console.log('Server stopped');
        server = cp.fork('server.js');
        console.log('Server started');
    });
    
    process.on('SIGINT', function () {
        server.kill();
        fs.unwatchFile('server.js');
        process.exit();
    });

    This example is only for one file (server.js), but can be adapted to multiple files using an array of files, a for loop to get all file names, or by watching a directory:

    fs.watch('./', function (event, filename) { // sub directory changes are not seen
        console.log(`restart server`);
        server.kill();
        server = cp.fork('server.js');    
    })

    This code was made for Node.js 0.8 API, it is not adapted for some specific needs but will work in some simple apps

  • 相关阅读:
    初始化项目结构
    Django基础2
    Django基础
    Linux(9~)
    Linux(8~)
    redis案例
    Jedis连接池
    Jedis入门
    redis持久化
    redis命令操作
  • 原文地址:https://www.cnblogs.com/oxspirt/p/10178618.html
Copyright © 2011-2022 走看看