zoukankan      html  css  js  c++  java
  • Node.js实现热加载

    不管是node.js原生开发,还是借助express,kora等框架开发node.js的情况下,在对代码做出更新后,都是需要重启已生效我们的文件的。

    本文记录一次在原生node.js开发的时候,为项目添加热加载。避免一次次手动的重启浪费精力~

    进入正题,我们需要借助一个node.js的开发工具nodemon

    nodemon官方解释如下:

    nodemon is a tool that helps develop node.js based applications by automatically restarting the node application when file changes in the directory are detected.

    nodemon does not require any additional changes to your code or method of development. nodemon is a replacement wrapper for node, to use nodemon replace the word node on the command line when executing your script.

    意思大概就是说nodemon是一个node.js的辅助开发工具,具有监听目录文件的作用。并在监听后作出响应。

    使用:

    npm install -g nodemon
    
    npm install -s nodemon

    安装好以后了,我们将已经启动的node.js项目关闭,然后通过nodemon命令重启

    nodemon index.js

    这里的index.js就是node.js项目的主入口文件。

    对于express来言的话就是  nodemon  bin/www

    还有一个比较重要的情景就是,我们如果说添加了日志文件。或者其他文件。这些文件是不需要进行热加载的。因此。我们就需要想git上传一样。做出一些过滤

    在根目录下常见nodemon.json文件

    {
      "restartable": "rs",
      "ignore": [
          ".git",
          ".svn",
          "logs",
          "pem",
          "node_modules/**/node_modules"
      ],
      "verbose": true,
      "execMap": {
          "js": "node server/index.js"
      },
      "watch": [
    
      ],
      "env": {
        "NODE_ENV": "development"
      },
      "ext": "js json"
    }

    restartable就是启动的方式

    ignore就是文件的过滤

    verbose是否展示详细信息

    execMap就是启动的主入口文件

    watch可以是监听的文件。

    env的话就是环境的配置

    在该文件配置ok以后,我们就不需要nodemon   启动文件了。而是直接输入nodemon命令就好。他会根据配置的json文件进行编译执行。这个的配置和pm2是有很大相似之处的。

    如果想要知道更加详细的配置,不防了解一下官方文档:

    https://www.npmjs.com/package/nodemon

    至此,node.js实现热更新的方法就记录到这里,已记录自己成长的点滴。

  • 相关阅读:
    每日总结3.8
    Go中定时器实现原理及源码解析
    Go语言实现布谷鸟过滤器
    详解Go语言调度循环源码实现
    Go语言中时间轮的实现
    详解Go语言I/O多路复用netpoller模型
    详解Go中内存分配源码实现
    Go中由WaitGroup引发对内存对齐思考
    【分享】java精品实战教程
    nginx实战教程
  • 原文地址:https://www.cnblogs.com/bgwhite/p/11106797.html
Copyright © 2011-2022 走看看