參數設置
在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參數。
