99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

ThinkJS 升級指南

2021-09-17 10:22 更新

升級指南

2.0 在架構和特性上都完全進行了重寫,是個顛覆式的版本,所以無法直接從 1.x 升級到 2.0 版本的。

與 1.x 版本差異

項目結構

2.0 默認使用按模塊進行項目結構劃分的,與 1.x 在目錄結構有一些差別。如果想 2.0 下使用類似 1.x 的項目結構,可以在創(chuàng)建項目的時候指定 --mode=normal。如:

thinkjs new demo --mode=normal

文件大小寫

1.x 里文件名使用駝峰的方式,如:Controller/indexController.js。2.0 里嚴格遵循 Node.js 社區(qū)的規(guī)范,文件路徑使用小寫的方式,并且文件名去除了類型,如:controller/index.js。

改變后文件名更加簡潔,且不會出現(xiàn)有的系統(tǒng)下區(qū)分大小寫的問題。

debug 模式

1.x 下開發(fā)環(huán)境需要開啟 debug 模式,線上需要關閉 debug 模式,但經(jīng)常會出現(xiàn)線上開啟了 debug 模式,導致出現(xiàn)內(nèi)存泄漏等問題。

2.0 廢棄了 debug 模式,而是提供了 development,testing 和 production 3 種模式,分別在對應的環(huán)境下使用,創(chuàng)建項目時會創(chuàng)建對應的 3 個文件,這樣在不同的環(huán)境下就可以使用不同的文件來啟動項目了。

C 函數(shù)

1.x 里提供了 C 函數(shù)來讀取配置,2.0 里廢除了該函數(shù),不同地方使用不同的方式來讀取配置。

Controller,Middleware 等含有 http 對象的地方使用 config 方法來讀取配置,其他等地方需要使用think.config 方法來讀取配置。

D 和 M 函數(shù)

1.x 里提供了 D 和 M 函數(shù)來實例化模型,2.0 里廢除了這 2 個函數(shù),不同的地方使用不同的方式來實例化模型。

Controller,Model,Middleware 等地方使用 model 方法來實例化模型,其他等地方使用 think.model 方法來實例化模型。

Controller,Model 函數(shù)

1.x 里提供了 Controller 來創(chuàng)建控制器類,Model 來創(chuàng)建模型類,2.0 里廢除了這些函數(shù)。并提供了多種方式來創(chuàng)建類。

ES6 直接使用 class extends think.model.base 來創(chuàng)建一個模型類,非 ES6 下可以通過 think.model 來創(chuàng)建一個模型類,創(chuàng)建控制器類類似。

其他全局函數(shù)

1.x 里直接提供了一些通用的全局函數(shù),如:md5,mkdir 等,2.0 中將這些函數(shù)都移到了 think 對象上,如:think.md5,think.mkdir。

自執(zhí)行目錄 common/

1.x 下 common/ 下的文件會啟動被調(diào)用,2.0 中將該目錄名為 bootstrap,并且要在 common 模塊下,如:src/common/bootstrap。

Behavior 和 Driver

2.0 將 Behavior 改為了 middleware,Driver 改為了 adapter。

線上部署

1.x 版本下提供了簡單的腳本 ctrl.sh 來管理當前 Node.js 服務,2.0 里廢棄了該文件,建議使用 pm2 來管理,并且提供了 pm2 的配置文件 pm2.json,線上通過 pm2 start pm2.json 即可啟動服務。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號