node应用cross-env参数设置及PM2参数设置方法

参数设置

在node开发过程中,我们经常使用npm run dev/build 命令

但是有时我们需要设置一些参数,在window系统中需要手动安装 cross-env

npm i cross-env -D

然后在script中添加参数设置

"scripts": {
  "test": "cross-env NODE_ENV=development node index.js"}

这样我们就可以随意设置我们需要的参数了。

使用PM2,为应用开启一个长进程

在线上 我们在命令行窗口,使用nmp run build启动我们项目后 ,当窗口关闭后,我们的应用进程也随之关闭了。

这时候,我们需要引入PM2 。在我们的云服务器上全局安装

npm install pm2 -g

这时再用pm2启动应用。这样即使关闭了我当前的xshell窗口。我的应用还是可以正常访问的。

pm2 start/stop index.js

或者在script中设置

"scripts": {
  "test": "cross-env NODE_ENV=development node index.js" "build": "pm2 start/stop index.js"
}

PM2启动应用时的参数设置

在根目录新建ecosystem.config.js配置文件

module.exports = {
  apps: [
    {
      // 生产环境
      name: "prod",
      // 项目启动入口文件
      script: "./index.js",
      // 项目环境变量
      env: {
        "NODE_ENV": "production"
      }
    },
  {
      // 测试环境
      name: "test",
      // 项目启动入口文件
      script: "./index.js",
      // 项目环境变量
      env: {
        "NODE_ENV": "test"
      }
    }
] }

当然这里你除了设置生产环境配置,测试和预发环境也是相同配形式,通过apps这个数组接受不同环境的配置对象。

再在我们的script中配置

"scripts": {
    "test": "cross-env NODE_ENV=development node index.js",
    "dev": "supervisor --harmony index.js",
    "build": "pm2 start ecosystem.config.js --only prod --watch" // 这里我只在线上使用了PM2
  },

这样我们当npm run test 或者 npm run build时

我们在node环境中通过 process.env.NODE_ENV 来获取我们的NODE_ENV参数。

原文地址:https://www.cnblogs.com/shichangchun/p/11069926.html

时间: 2024-10-08 23:17:29

node应用cross-env参数设置及PM2参数设置方法的相关文章

双主,主从同步设置的重要参数log_slave_updates

说明:最近部署了mysql的集群环境,详细如下M01和M02为主主复制,M01和R01为主从复制:在测试的过程中发现了以下问题: 1.M01和M02的主主复制是没有问题的(从M01写入数据能同步到M02,从M02写入数据能够同步到M01); 2.主从同步的时候,当从M01写入的时候,数据可以写入到R01: 3.当从M02写入的时候,数据就不能写入到R01: 问题的原因:log_slave_updates参数的状态为NO mysql的官网说明如下: Normally, a slave does n

【RAC】在RAC环境下需要惟一设置的重要参数列表

在RAC环境中的数据库参数的设置需要多加关注.在RAC环境中大部分参数要求各节点实例设置一样,然而个别的参数是每个实例特有的,需要单独设置. 1.需要设置为相同值的参数什么样的参数在RAC环境的多实例中需要设置为相同值?那些在创建数据库时至关重要的初始化参数以及会影响特定数据库操作的初始化参数必须具有相同的值.例如下面的这些参数,在RAC环境中每个实例中都需要进行统一设置:ACTIVE_INSTANCE_COUNTARCHIVE_LAG_TARGETCLUSTER_DATABASECONTROL

你应该知道的那些超时设置或默认参数 good

defaultStatementTimeout Sets the number of seconds the driver will wait for a response from the database. Any positive integer Not Set (null) http://www.mybatis.org/mybatis-3/configuration.html 存储介质 Redis Java-Driver Jedis 连接池:Jedis的连接池设计基于 Apache Co

IIS下PHP rewrite重写设置(支持中文参数)实例

IIS环境下PHP重写设置 支持中文参数. 在网站根目录下加入:Web.Config: <?xml version="1.0" encoding=”UTF-8″?> <configuration> <system.webServer> <rewrite> <rules> <rule name="cnUrl" stopProcessing="true"> <match u

Full GC分析:设置Java VM参数实现在Full GC前后自动生成Dump

本文讲解了如何设置Java VM参数实现在Full GC前后自动生成Dump.共有三个VM参数需要设置: HeapDumpBeforeFullGC 实现在Full GC前dump. HeapDumpBeforeFullGC 实现在Full GC后dump. HeapDumpPath               设置Dump保存的路径 设置这些参数的方法,这里总结了四种,大家可以根据情况选择使用. 方法1: 启动jvm时,带上这些参数(这个方法适合开发测试环境) java -Xms200m -Xm

设置Linux内核参数 /etc/sysctl.conf

设置Linux内核参数 /etc/sysctl.conf   配置 Linux 内核参数修改后不用重启动更新: /sbin/sysctl -p 打开/etc/sysctl.conf 复制如下内容kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128fs.file-max = 65536net.ipv4.ip_local_port_range = 1024

/etc/fstab 参数详解及如何设置开机自动挂载

转自:http://blog.csdn.net/duyiwuer2009/article/details/8644753 某些时候当Linux系统下划分了新的分区后,需要将这些分区设置为开机自动挂载,否则,Linux是无法使用新建的分区的. /etc/fstab 文件负责配置Linux开机时自动挂载的分区. Windows的文件结构是多个并列的树状结构,最顶部的是不同的磁盘(分区),如:C,D,E,F等.Linux的文件结构是单个的树状结构.最顶部的为根目录,即/.在根目录下,分为多个子目录,包

正确设置-Dfile.encoding参数

正确设置-Dfile.encoding参数 摘自:https://blog.csdn.net/youge/article/details/6178265 2011年02月11日 10:18:00 阅读数:1889 标签: java服务器虚拟机tomcat语言jdk 更多 个人分类: java 问题:            项目在本机开发编译打包后发布到法国的服务器,代码中的中文全部乱码,就算是最简单的代码System.out.println("中文"),打印出来的也是乱码. 代码在本地

linux内核可以接受的参数 | Linux kernel启动参数 | 通过grub给内核传递参数

在Linux中,给kernel传递参数以控制其行为总共有三种方法: 1.build kernel之时的各个configuration选项. 2.当kernel启动之时,可以参数在kernel被GRUB或LILO等启动程序调用之时传递给kernel. 3.在kernel运行时,修改/proc或/sys目录下的文件. 这里我简单讲的就是第二种方式了,kernel在grub中配置的启动参数. 首先,kernel有哪些参数呢? 在linux的源代码中,有这样的一个文档Documentation/kern