04-其他便利工具介绍

nobility 发布于 2020-07-15 2849 次阅读


其他便利工具介绍

cross-env

用于跨平台设置环境变量的的脚本

使用以下方式启动程序,则可使用process.env.NODE_ENV获取设置的环境变量,用于区分是否是生产环境

  • 在window的cmd中设置node环境变量需要使用set NODE_ENV=production & node app.js
  • 在window的PowerShell中设置node环境需要使用env:NODE_ENV=production ;node app.js
  • 在Linux中设置node环境需要使用NODE_ENV=production node app.js

由于不同系统中的设置方式不同,所以为了解决该问题就可以使用cross-env工具,使用npm install cross-env -D本地安装,使用npx cross-env NODE_ENV=production node app.js即可设置,通常写在package.json中的scripts中,使用npm run命令执行

nodemon

用于开发环境下帮助开发者在检测到目录中的文件发生更改时自动重新启动node应用程序

使用npm install nodemon -D本地安装,使用npx nodemon app.js启动程序即可,通常写在package.json中的scripts中,使用npm run命令执行

默认会自动忽略node_modules文件夹,并且只监视以js,mjs,json后缀的文件的变化,一般无需多余配置,若要想忽略某个目录或某些文件可以使用ignore参数设置忽略的文件夹

pm2

PM2是Node.js应用程序的生产环境下的管理器,内置负载均衡器,是用于线上环境启动node应用程序进程的监控工具

功能

  • node应用程序会以守护进程的形式运行,程序崩溃时会自动重启
  • 可以启用多进程方式,由pm2自动分配访问,可充分利用CPU和内存
  • 自动将输出控制台的内容写入日志文件中

使用方式

使用npm install pm2 -D本地安装,本地安装的pm2需要使用npx pm2执行下面命令

  • version:查看pm2版本
  • start:启动程序
  • list:显示pm2的监控列表
  • restart:根据name字段或id字段重启程序进程
  • stop:根据name字段或id字段停止程序进程
  • delete:根据name字段或id字段删除要监控程序进程
  • info:根据name字段或id字段查看要监控程序进程的详细信息
  • log:根据name字段或id字段查看要监控程序进程的日志信息
  • monit:根据name字段或id字段查看要监控程序进程

配置

json格式的配置文件,使用start启动时只需要指定配置文件即可,使用时将注释去掉,json不支持注释

{
    "apps": {
        "name": "app-server",	//应用程序名
        "script": "bin/www",	//启动程序脚本文件
        "watch": true,	//文件修改后重启
        "ignore_watch": [	//文件修改重启中要忽略的文件变化
            "node_modules",
            "logs"
        ],
        "instances": 2,	//启动进程数量,一般按照cpu的核数算
        "error_file": "logs/error.log",	//错误日志存放位置
        "out_file": "logs/out.log",	//控制台输出日志存放位置
        "log_date_format": "YYYY-MM-DD HH:mm:ss"	//输出日志时加上时间信息,格式由自己定义
    }
}
此作者没有提供个人介绍
最后更新于 2020-07-15