那些在BAE上部署node.js碰到的坑

在BAE上使用node.js半年多了,其中碰到了很多由於BAE雲環境限制碰到的坑node

寫下來你們碰到了,也不用那麼麻煩的去看好幾天代碼了,直接對症下藥mysql

  官方公佈的坑有web

  1. BAE是使用package.json中的script語句來執行代碼的,要執行的文件名必須帶後綴如 "start" : "node index.js"
  2. MySql和Mongodb不支持長鏈接,應在代碼中避免掉
  3. 端口統一爲18080
  4. 鏈接MySQL時用戶須要主動捕獲異常

  實踐發現的坑有sql

  1. 若是要在node中使用mysql,得使用BAE給提供的mysql module纔可對接上BAE的mysql庫。(地址:http://bcs.duapp.com/baev3demo/nodejs-web/mysql.tgz)
  2. 在package.json中不能有各類dependencies,否則部署會出錯,得在本地npm install安裝好後把package.json中的dependencies刪除掉
  3. 不能加運行環境如--production,使得process.nev.NODE_ENV得在代碼中設定
  4. 若是在管理平臺上代碼錯誤,狀態更爲「異常」,這時,即便commit最新的代碼,可是不會顯示「快捷發佈」選項,在這種狀態下即便重啓,也仍是執行舊的錯誤代碼,一直不會顯示「快捷發佈」按鈕來更改錯誤;解決方法是將該部署「暫停」,再當即「開始」,則會看到有新版本提示的「快捷發佈」,來部署新的代碼,可是兩次暫停間要隔15分鐘

 

如你們也發現了上面沒有的,回覆我補充上去npm

相關文章
相關標籤/搜索