node项目启动方式统计 、开发/生产环境的配置 ---- 学习笔记 (八)

启动node项目方式

1、node方式

node [入口js文件路径]

缺点:
1、窗口关闭后服务自动停止,
2、文件变化后需要手动重启

2、npm方式 ----- 通过package.json配制命令

  • 第一步,运行npm init ,生成package.json文件;
  • 第二步,在package.json中的scripts中配制启动命令,比如将第一种方式的启动命令写入scripts中,比如npm run dev进行如下配置
{
    
    
  "name": "cj",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    
               // 配置启动命令
    "dev": "node ./index.js"        
  },
  "author": "",
  "license": "ISC"
}

缺点:
1、窗口关闭后服务自动停止,
2、文件变化后需要手动重启

3、nodemon方式

  • 第一步,安装nodemon,npm i nodemon -D
  • 第二步,通过nodemon启动项目,nodemon [入口js文件路径]
  • 第二步,或者通过在package.json中的scripts中配制启动命令,比如npm run dev进行如下配置
{
    
    
  "name": "cj",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    
               // 配置启动命令
    "dev": "nodemon ./index.js"        
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    
    
    "nodemon": "^2.0.7"
  }
}

缺点:
1、窗口关闭后服务自动停止,
优点:
1、文件变化后自动重启服务

4、pm2方式启动

pm2有两种启动方式,
可通过pm2指定js启动,
也可通过pm2生成配制文件,再通过配制文件启动。

首先,都要安装pm2 npm i pm2 -g,其次再根据不同方式启动项目

4.1、pm2不区分环境的项目启动方式

pm2 start [入口js文件路径] --watch // watch可监听文件变化,自动重启项目。

4.2、pm2通过配置文件启动项目
  • 第一步,运行pm2 init ,生成ecosystem.config.js文件,配置不同环境
module.exports = {
    
    
  apps : [
      {
    
    
        name: "myapp",
        script: "./app.js",   // 这是入口js,需要根据自己的做出调整
        watch: true,
        env: {
    
       // 默认环境,为生产环境
            "NODE_ENV": "production"
        },
        env_development: {
    
      //开发环境
            "NODE_ENV": "development",
        },
        env_test: {
    
       //测试环境
            "NODE_ENV": "test",
        }
      }
  ]
 }

注意:env是默认的环境,env_后面的是运行启动项目命令时env后指定的环境名

  • 第二步,启动项目
    pm2 start ecosystem.config.js --env 环境名

    环境名可以是上方指定的development、test,不指定env时,采用默认环境env;

    之后在项目任意地方,可通过process.env.NODE-ENV获取到当前环境,再根据不同环境做出相应配置

  • 第三步,也可将这个命令配制到package.json中,eg:

运行npm run prod即可启动生产环境的项目,
运行npm run dev即可启动开发环境的项目,
运行npm run test即可启动测试环境的项目,

{
    
    
  "name": "cj",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    
     
    "prod": "pm2 start ecosystem.config.js --watch",  
    "dev": "pm2 start ecosystem.config.js --env development --watch",
    "test": "pm2 start ecosystem.config.js --env test"
  }

优点:
1、窗口关闭后服务不会关闭
2、启动时添加 --watch ,即可实现文件变化后自动重启服务

开发/生产环境的配置

方式一,项目启动方式四pm2中的通过配置文件启动可配置启动时的环境

方式二,cross-env 结合 nodemon配置启动环境

  • 第一步,安装cross-env , npm i cross-env -S
  • 第二步,修改package.json中的启动命令,为其设置环境,命令修改为如下
    cross-env NODE_ENV=development nodemon [入口js文件路径],这里指定环境为developement;
"scripts": {
    
    
    "start": "cross-env NODE_ENV=development nodemon [入口js文件路径]"
 },

建议

本地启动项目用nodemon,
生产上启动项目用pm2

Guess you like

Origin blog.csdn.net/yiyueqinghui/article/details/118786977