參數設置node
在node開發過程當中,咱們常用npm run dev/build 命令shell
可是有時咱們須要設置一些參數,在window系統中須要手動安裝 cross-envnpm
npm i cross-env -D
而後在script中添加參數設置 數組
"scripts": { "test": "cross-env NODE_ENV=development node index.js"
}
這樣咱們就能夠隨意設置咱們須要的參數了。服務器
使用PM2,爲應用開啓一個長進程app
在線上 咱們在命令行窗口,使用nmp run build啓動咱們項目後 ,當窗口關閉後,咱們的應用進程也隨之關閉了。測試
這時候,咱們須要引入PM2 。在咱們的雲服務器上全局安裝ui
npm install pm2 -g
這時再用pm2啓動應用。這樣即便關閉了我當前的xshell窗口。個人應用仍是能夠正常訪問的。spa
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參數。