国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

thinkjs入門

wing324 / 2575人閱讀

摘要:常見問題中間件執(zhí)行是按照配置的排列順序執(zhí)行的,所以需要開發(fā)者考慮配置的順序。數(shù)據(jù)校驗(yàn)方法配置好校驗(yàn)規(guī)則后,可以通過方法進(jìn)行校驗(yàn)控制器項(xiàng)目中的需要繼承類,這樣能使用一些內(nèi)置的方法。項(xiàng)目創(chuàng)建時(shí)會(huì)自動(dòng)創(chuàng)建了一個(gè)名為的基類,其他繼承該類即可。

安裝thinkjs
$ npm install -g think-cli
創(chuàng)建項(xiàng)目
$ thinkjs new demo;
$ cd demo;
$ npm install;
$ npm start;
項(xiàng)目結(jié)構(gòu)
默認(rèn)創(chuàng)建的項(xiàng)目結(jié)構(gòu)如下:

配置
系統(tǒng)默認(rèn)配置(config.js通用的默認(rèn)配置)

Adapter 配置

關(guān)系數(shù)據(jù)庫

Middleware / 中間件
中間件執(zhí)行過程

中間件配置格式

meta: 顯示一些 meta 信息,如:發(fā)送 ThinkJS 的版本號(hào),接口的處理時(shí)間等等

resource: 處理靜態(tài)資源,生產(chǎn)環(huán)境建議關(guān)閉,直接用 webserver 處理即可。

trace: 處理報(bào)錯(cuò),開發(fā)環(huán)境將詳細(xì)的報(bào)錯(cuò)信息顯示處理,也可以自定義顯示錯(cuò)誤頁面。

payload: 處理表單提交和文件上傳,類似于 koa-bodyparser 等 middleware

router: 路由解析,包含自定義路由解析

logic: logic 調(diào)用,數(shù)據(jù)校驗(yàn)

controller: controller 和 action 調(diào)用

handle:中間件的處理函數(shù),可以用系統(tǒng)內(nèi)置的,也可以是引入外部的,也可以是項(xiàng)目里的中間件
enable:是否開啟當(dāng)前的中間件,比如:某個(gè)中間件只在開發(fā)環(huán)境下才生效。
options:傳遞給中間件的配置項(xiàng),格式為一個(gè)對(duì)象,中間件里獲取到這個(gè)配置。

常見問題


中間件執(zhí)行是按照配置的排列順序執(zhí)行的,所以需要開發(fā)者考慮配置的順序。

在中間件里可以通過 ctx.param、ctx.post 等方法來獲取 query 參數(shù)或者表單提交上來的數(shù)據(jù),但有些中間件里希望設(shè)置一些參數(shù)值、表單值以便在后續(xù)的 Logic、Controller 中獲取,這時(shí)候可以通過 ctx.param、ctx.post 設(shè)置:

Logic / 校驗(yàn)

當(dāng)在 Action 里處理用戶的請(qǐng)求時(shí),經(jīng)常要先獲取用戶提交過來的數(shù)據(jù),然后對(duì)其校驗(yàn),如果校驗(yàn)沒問題后才能進(jìn)行后續(xù)的操作

注:若自己手工創(chuàng)建時(shí),Logic 文件名和 Controller 文件名要相同

請(qǐng)求類型校驗(yàn)

校驗(yàn)規(guī)則格式

基本數(shù)據(jù)類型

支持的數(shù)據(jù)類型:boolean、string、int、float、array、object,對(duì)于一個(gè)字段只允許指定為一種基本數(shù)據(jù)類型,默認(rèn)為 string 類型。

數(shù)據(jù)校驗(yàn)方法

配置好校驗(yàn)規(guī)則后,可以通過 this.validate 方法進(jìn)行校驗(yàn)
Controller / 控制器
項(xiàng)目中的 controller 需要繼承 think.Controller 類,這樣能使用一些內(nèi)置的方法。當(dāng)然項(xiàng)目中可以創(chuàng)建一些通用的基類,然后實(shí)際的 controller 都繼承自這個(gè)基類。項(xiàng)目創(chuàng)建時(shí)會(huì)自動(dòng)創(chuàng)建了一個(gè)名為 base.js 的基類,其他 controller 繼承該類即可。

router路由配置

Action 執(zhí)行

Action 執(zhí)行是通過中間件 think-controller 來完成的,通過 ctx.action 值在 controller 尋找 xxxAction 的方法名并調(diào)用,且調(diào)用相關(guān)的魔術(shù)方法。

ctx 對(duì)象

Controller 實(shí)例化時(shí)會(huì)傳入 ctx 對(duì)象,在 Controller 里可以通過 this.ctx 來獲取 ctx 對(duì)象,并且 Controller 上很多方法也是通過調(diào)用 ctx 里的方法來實(shí)現(xiàn)的。如果子類中需要重寫 constructor 方法,那么需要調(diào)用父類中的 constructor,并將 ctx 參數(shù)傳遞進(jìn)去:

Modal關(guān)系數(shù)據(jù)庫(創(chuàng)建模型文件)

注釋:具體內(nèi)容請(qǐng)參考thinkjs官方文檔--關(guān)系數(shù)據(jù)庫

thinkjs--pm2部署

首先先全局安裝pm2

命令:sudo npm install -g pm2

創(chuàng)建項(xiàng)目時(shí),會(huì)在項(xiàng)目目錄下創(chuàng)建名為 pm2.json 的配置文件

項(xiàng)目啟動(dòng)

pm2 start pm2.json(需在項(xiàng)目路徑下執(zhí)行)

nginx部署
創(chuàng)建項(xiàng)目時(shí),會(huì)在項(xiàng)目根目錄下創(chuàng)建了一個(gè)名為 nginx.conf 的配置文件,將配置文件防止服務(wù)器/etc/nginx/conf.d路徑下:

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/105585.html

相關(guān)文章

  • Thinkjs3入門筆記一:添加一個(gè)新的頁面

    摘要:本文幫助你往中添加一個(gè)新的頁面,沒有原理描述,只提供一個(gè)感性認(rèn)識(shí)。首先需要一個(gè)項(xiàng)目我們創(chuàng)建一個(gè)叫做的項(xiàng)目所有選項(xiàng)一路確認(rèn)即可在該目錄下通過命令向項(xiàng)目添加模塊通過命令行工具,添加模塊的控制器文件。感性認(rèn)識(shí)命令行工具可以用來做很多事情。 本文幫助你往Thinkjs3中添加一個(gè)新的頁面,沒有原理描述,只提供一個(gè)感性認(rèn)識(shí)。 首先需要一個(gè)Thinkjs3項(xiàng)目 我們創(chuàng)建一個(gè)叫做fuck的項(xiàng)目 $ ...

    oujie 評(píng)論0 收藏0
  • Thinkjs3入門筆記一:添加一個(gè)新的頁面

    摘要:本文幫助你往中添加一個(gè)新的頁面,沒有原理描述,只提供一個(gè)感性認(rèn)識(shí)。首先需要一個(gè)項(xiàng)目我們創(chuàng)建一個(gè)叫做的項(xiàng)目所有選項(xiàng)一路確認(rèn)即可在該目錄下通過命令向項(xiàng)目添加模塊通過命令行工具,添加模塊的控制器文件。感性認(rèn)識(shí)命令行工具可以用來做很多事情。 本文幫助你往Thinkjs3中添加一個(gè)新的頁面,沒有原理描述,只提供一個(gè)感性認(rèn)識(shí)。 首先需要一個(gè)Thinkjs3項(xiàng)目 我們創(chuàng)建一個(gè)叫做fuck的項(xiàng)目 $ ...

    or0fun 評(píng)論0 收藏0
  • ThinkJS 作者李成銀:擇善而從之,篤行致遠(yuǎn)

    摘要:非常有幸邀請(qǐng)到李成銀老師,進(jìn)行一期圖靈專訪。具體工作中,技術(shù)能力可能只占了,軟素質(zhì)方面的能力卻高達(dá)。大數(shù)據(jù)處理隨著大數(shù)據(jù)處理越來越熱門,很多項(xiàng)目都要在前端進(jìn)行大數(shù)據(jù)處理和展現(xiàn)。提案可以大大提升在大數(shù)據(jù)處理方面的性能。 非商業(yè)轉(zhuǎn)載請(qǐng)注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/article/260246 李成銀,奇虎360前端技術(shù)專家,Th...

    alin 評(píng)論0 收藏0
  • 入手thinkjs,學(xué)習(xí)筆記

    摘要:最近剛剛學(xué)習(xí)了一個(gè)的開發(fā)框架,最重要的是可以用開發(fā)傳送門以下是學(xué)習(xí)過程中的筆記上面時(shí)全局安裝完成后用檢查是否成功創(chuàng)建了一個(gè)名為的項(xiàng)目,然后進(jìn)入目錄,安裝依賴,啟動(dòng)項(xiàng)目,瀏覽器打開就可以看到頁面了。 最近剛剛學(xué)習(xí)了thinkjs--一個(gè)node的MVC開發(fā)框架,最重要的是可以用es6/es7開發(fā)【傳送門】 以下是學(xué)習(xí)過程中的筆記: npm install thinkjs@2 -g --v...

    shuibo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<