开发环境搭建

服务端自动刷新

nodemon监听文件和目录的修改,然后重启 node 程序; nodemon 是对 node 的包装,在使用的时候只需要使用nodemon命令替换node命令。 使用:nodemon [your app code]

环境配置 NODE_ENV

后端项目开发过程中,经常会涉及到一些敏感信息,例如数据库密码、第三方服务秘钥等。 这些敏感信息不宜硬编码到项目中,通常将这些信息以环境变量的形式进行管理。

NODE_EVN 是一个环境变量,因为 Express 框架而流行,形成的非标准既定规范,用来配置程序的运行环境; Node 程序在运行的过程中可以使用 NODE_EVN 环境变量判断运行环境来做相应的处理逻辑; 按照惯例 NODE_EVN 用来指导运行环境到底是开发环境还是生产环境,跟进不同的环境进行不同的日志记录、错误处理和调试逻辑; 按照约定 NODE_EVN 只能为productiondevelopment这两个值。

  • NODE_EVN 获取:
    • var environment = process.env.NODE_ENV
    • 在 Express 中可以使用:app.get('env')
  • NODE_EVN 设置:
    • 系统环境变量中默认未设置 NODE_EVN 值为undefined
    • linux & mac: export NODE_ENV=production
    • windows: set NODE_ENV=production
  • 使用cross-env可以兼容不同平台设置环境变量
    • 在 NODE_ENV=xxxxxxx 前面添加 cross-env:cross-env NODE_ENV=development nodemon index.js

守护进程

使用nohup命令配合&后台运行程序nohup node xxx.js &&让命令在后台运行,nohup命令做了三件事:

  1. 阻止SIGHUP命令发生到这个进程,保证命令行窗口关闭不影响程序运行
  2. 关闭标准输入,该进程不能够接收任何输入
  3. 将标准输出和标准错误输出重定向到nohup.out

如何关闭nohup启动的进程

  1. 使用jobs -l命令可以查看后台运行的程序,不过只能在查看当前终端的后台任务。
  2. 使用ps -aux|grep xxx命令查看运行进程
  3. 使用lsof -i:xxxxnetstat -ap|grep xxxx命令查看端口占用

TODO:开发环境&生产环境守护进程

TODO:inspect

results matching ""

    No results matching ""