一、express 4.x版本之前 全局安裝express 命令是 npm install express -g express 4.x版本之后 全局安裝express 命令是 npm install -g express-generator 1.創建Express 工程 express -e myproject 2.npm install -g supervisor ,修改app.js不用重新啟動
二、nojdJs 常用的8個工具
1. create-react-app:快速搭建 React 應用的原型 安裝方法:npm install -g create-react-app,create-react-app 由 Facebook 出品,能夠幫你快速的生成 React 應用的骨架,里面包括典型 React 應用的基礎依賴,最佳實踐,包括:開發環境的各種工具,能直接修改運行的測試文件、工具,幫你構建源代碼以便發布到生產環境的腳本。 2. standard:傻瓜式的 Javascript 語法檢查工具 安裝方法:npm install -g standard,standard 是代碼檢查工具領域的新秀,代碼檢查存在的必要性這里不再贅述。在代碼風格檢查領域有幾款優秀的工具,按出現的先后順序為:jslint、jshint、eslint,而跟 standard 同時出現的還要很多其他的,他的特點是傻瓜式,零配置即可上手,目前在已經有不少開源項目使用了這種風格,無需任何配置,只需要用過命令行就可以確保所有的代碼貢獻者提交的代碼是風格一致的。 3. nodemon:自動重啟 NodeJS 應用 安裝方法,npm install -g nodemon,nodemon 是一款監聽服務運行時所在的目錄源代碼變化並自動重啟服務的工具,是項目快速迭代時的完美伴侶,因為 nodemon 能幫你把重復工作降到最低。理論上 nodemon 支持各種語言的服務重啟,並且支持監聽目錄和文件的自定義配置。 4. pm2:便捷管理 node 服務進程 安裝方法,npm install -g pm2,pm2 是一款非常強大的服務進程管理工具,尤其適合用在生產環境,人人車所有的線上 node 服務都是用他來管理,開箱即用的特性包括:進程監控、負載均衡、內存監控、
日志管理、服務管理。並且有需要的同學可以開啟他官方的 node 應用監控后台支持:keymetrics.io
pm2 --watch-delay 5 ## 可以熱啟動,類似nodemon 的功能,5 是5s 后會重新啟動
5. localtunnel:把本機服務暴露到外網 安裝方法:npm install -g localtunnel,localtunnel能夠讓你快速的把本機的服務暴露到公網上,提供給其他人使用、測試,不需要任何域名、虛擬主機。典型的使用場景比如做前端開發的同學可以利用這個工具把開發環境的服務提供給 PM 或者 QA 驗收使用。提供類似服務的還有 ngrok 及其國內克隆版 natapp,但是都是收費的。 6. david:幫你找到已經過期的依賴包 安裝方法:npm install -g david,david 不僅僅能夠讓你知道你的項目中哪些依賴包需要升級,還提供了快速升級包的機制。npm 內置的工具有 npm outdated,但是 david 較之更優。 7. nvm:Node 版本管理器 安裝方法參見 nvm,該工具不是 NodeJS 編寫。顧名思義,他能夠幫你安裝、管理、切換不同版本的 NodeJS 引擎,對於開源項目維護者來說尤其實用。比如:你的項目需要支持 NodeJS 的 Current Release(7.X),也要支持 LTS Release(6.X),在跑測試的時候,輔以簡單的腳本就可以在多個不同版本上做自動化回歸。 8. yarn:比 npm 更好的包管理器 安裝方法:npm install -g yarn,yarn 是 Facebook 出品的改良版 NodeJS 包管理器,在性能上有非常大的改進,依賴管理方面也修復了 npm 被人詬病了很久的無法鎖定依賴的問題,但是國內的同學使用可能偶爾會遇到服務不穩定的情況。 作者:小丶侯 鏈接:https://www.jianshu.com/p/d6fd8ecf0bdc 來源:簡書 簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。
常用Pm2命令
# Fork mode pm2 start app.js --name my-api # Name process # Cluster mode pm2 start app.js -i 0 # Will start maximum processes with LB depending on available CPUs pm2 start app.js -i max # Same as above, but deprecated. pm2 scale app +3 # Scales `app` up by 3 workers pm2 scale app 2 # Scales `app` up or down to 2 workers total
啟動Express 服務
執行pm2 start ./bin/www --name=“自己能認識的名稱”
停止可以用pm2 stop id號 或者pm2 stop all
# Listing pm2 list # Display all processes status pm2 jlist # Print process list in raw JSON pm2 prettylist # Print process list in beautified JSON pm2 describe 0 # Display all informations about a specific process pm2 monit # Monitor all processes # Logs pm2 logs [--raw] # Display all processes logs in streaming pm2 flush # Empty all log files pm2 reloadLogs # Reload all logs # Actions pm2 stop all # Stop all processes pm2 restart all # Restart all processes pm2 reload all # Will 0s downtime reload (for NETWORKED apps) pm2 stop 0 # Stop specific process id pm2 restart 0 # Restart specific process id pm2 delete 0 # Will remove process from pm2 list pm2 delete all # Will remove all processes from pm2 list # Misc pm2 reset <process> # Reset meta data (restarted time...) pm2 updatePM2 # Update in memory pm2 pm2 ping # Ensure pm2 daemon has been launched pm2 sendSignal SIGUSR2 my-app # Send system signal to script pm2 start app.js --no-daemon pm2 start app.js --no-vizion pm2 start app.js --no-autorestart