开发测试服务器配置信息,node服务端中台实现及开发测试生产环境配置
本人node服務端新人一枚,網上找了不少資料,看了很多別人的配置信息,感覺都不是很合適,看的多了自己也明白配置的具體思路跟實現方式了,以下為我的實現方式。通過package.json里面的scripts配置命令行信息,然后在命令行信息里面添加參數,在具體執行文件里面判斷參數引入對應路徑的文件。
首先我的目錄結構是這樣的
實現目標是通過不同的命令行命令執行對應環境下的配置文件,首先在config目錄下創建三個文件夾
dev_env.js
stage_env.js
prod_env.js
分別對應開發測試生產環境要訪問的接口等信息,具體需要什么變量可以自己配置。然后package.json文件需要配置scripts。
package.json中scripts部分
接下來是具體執行文件,比如我的router.js接收參數部分,使用process.argv接收命令行參數
這樣就可以了,命令行執行npm run dev 執行的就是dev_env.js的配置信息,npm run stage 執行的就是stage_env.js
本來以為這樣就萬事大吉了,但是實際跑起來還有一些問題,隔一段時間后就無法訪問了,查詢后才知道是node進程掛了,然后搜索一番發現需要進程守護,nohup試驗過后還是會莫名中斷進程,最后選用了pm2,這里有一點需要說明,pm2安裝需要在服務器上執行安裝命令并且配置軟連接,在本地node環境執行npm install 安裝各種包只限于js中引用使用,比如express等,就可以直接通過git上傳的方式在測試環境正式環境部署后就可以直接使用,但不推薦這么做因為可以上傳就意味著別人也可以上傳,很容易出問題,除非只有你有權限。
安裝成功后,把package.json改成如下代碼就可以了
記錄下pm2常用命令:
pm2 start app.js? ?啟動app.js文件
pm2 stop app.js? 關閉app.js文件
pm2?restart app.js 重啟app.js文件
pm2 list 查看運行狀態
pm2?describe app? 查看app.js運行具體信息
中臺實現功能方面,整體實現思路是使用arttemplate模板在服務端讀取views下的文件,然后通過axios發起請求獲取后端接口數據,把頁面跟數據集成后再返回給客戶端。具體模板配置及使用就不具體介紹了。說說我遇到的項目中的問題吧。
因為接口數據我在服務端請求過了,所以客戶端不會再發起這個請求,但是一些json類型的數據客戶端還要用到,因此要把接口數據傳輸給客戶端,這部分內容通過兩種方案來實施了,簡單數據類型比如字符串或者數字的通過在html上添加屬性,復雜json類型的通過cookie傳遞服務端:res.cookie('desp',JSON.stringify(data.entity.desp))
客戶端:JSON.parse(decodeURIComponent(config.getCookie('desp')))
注意服務端存cookie需要轉成json字符串,客戶端接收需要用decodeURIComponent處理后再轉成json對象,如果報502錯誤,大概率是你的cookie存儲超過了4kb,這種情況下服務端是不會報錯的。
總結
以上是生活随笔為你收集整理的开发测试服务器配置信息,node服务端中台实现及开发测试生产环境配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php调用美图接口,网易美图 API 接
- 下一篇: animate动画案例_animate动