91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ThinkJS2.1支持TypeScript的示例分析

發布時間:2021-10-19 10:03:42 來源:億速云 閱讀:153 作者:小新 欄目:web開發

這篇文章主要為大家展示了“ThinkJS2.1支持TypeScript的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“ThinkJS2.1支持TypeScript的示例分析”這篇文章吧。

一:支持TypeScript

TypeScript 是一種由微軟開發的自由和開源的編程語言。它是 JavaScript 的一個超集,向這個語言添加了可選的靜態類型,在大型項目里非常有用。ThinkJS 2.1 開始支持了創建 TypeScript 類型的項目,并且開發時會自動編譯、自動更新,無需手工編譯等復雜的操作。細則如下:

1、創建 TypeScript 項目

2、.d.ts 文件

3、已有項目升級為 TypeScript 項目

  • 修改入口文件

  • 修改 package.json

  • 修改 .thinkjsrc

  • 下載 think.d.ts 描述文件

  • 修改文件后綴

  • 項目文件里添加描述文件

二:性能提升

評價一個框架是否出色,一方面看支持的功能,另一方面也要看性能。雖然 ThinkJS 更適合大型項目,功能和復雜度遠遠超過 Express 和 Koa,但性能上并不比 Express 和 Koa 遜色多少,具體的測試數據請見下圖。

ThinkJS2.1支持TypeScript的示例分析

注:以上數據使用分布式壓力測試系統測試。

從上圖中測試數據可以看到,雖然 ThinkJS 比 Express 和 Koa 性能要差一些,但差別并不大。ThinkJS 和 Sails.js 都更符合大型項目,但 ThinkJS 的性能要比 Sails.js 高很多。

具體測試代碼請見:https://github.com/thinkjs-team/thinkjs-performance-test,可以下載代碼在本機測試,如果使用 ab 測試工具,請注意該工具在 Mac 系統下很不穩定,多次測試結果會相差很大。

三:更多特性

ThinkJS 2.1版本除了上述兩個較為突出的特性以外,更多特性如下:

  • Controller 支持子目錄的形式

  • 支持 PostgreSQL 數據庫

  • Model schema 支持默認值

  • Hook 里的 middleware 返回 null 可以阻止后續的 middleware 執行

  • http 和 controller 添加 display 的別名方法 render

  • 添加串行執行方法 think.waterfall

  • Validate 支持正則

  • fetch 支持傳數據

  • Logic 支持判斷請求類型

  • 定時任務里支持直接調用 action

  • Babel 升級到 6

  • 國際化語言對大小寫不再敏感

  • 將獲取模板文件內容改為異步

  • http 對象不在繼承自 EventEmitter 類

  • 去除 think.mode_mini 模式,controller 支持子目錄

  • 數據庫配置 name 改為 database

  • 修改現在的 fields 為 schema

  • 數據庫配置 pwd 改為 password

  • 優化 http 對象生成方式,不用每次都復制

  • 過濾 .svn, .git 等隱藏類型的文件

  • 將文件 bin/index.js 移動為 src/command.js

  • runtime 目錄移動到項目根目錄下,添加 think.RUNTIME_PATH 路徑常量

  • adapter type 增加自動轉為小寫的功能,并給出提示

  • 增加 thinkData,用于緩存系統常用數據

  • 合并 think.locale 和 controller.locale 方法

  • 修復 nunjucks 模板繼承文件找不到的問題

  • 修復 pathname 里含有轉義的 / 導致識別錯誤的問題

  • 修復 http.file 方法返回的數據遭到修改導致源數據也修改的問題

  • 修復路徑中 / 在 windows 下需要替換為 \\ 的問題

  • 修復 nunjucks 下模板文件在不在根目錄導致報錯的問題

  • 修復 production 環境下,頁面上可能輸出敏感數據的問題

  • 修復 development 模式下,JSON 數據解析失敗后沒有報錯信息不好定位的問題

  • 修復 view root_path 修改后,創建模塊時視圖路徑沒更新的問題

  • 修復 required|int 規則校驗不正確的問題

  • 修復 redis cache 解析配置的問題

  • 修復 REST API 不支持 logic 的問題

  • 修復 count 方法如果傳入字段名是關鍵字會出錯的問題

以上是“ThinkJS2.1支持TypeScript的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定远县| 武宁县| 股票| 昭苏县| 荔浦县| 金川县| 康乐县| 湟源县| 榆中县| 桃江县| 襄垣县| 龙川县| 瓦房店市| 南岸区| 崇信县| 鹤壁市| 易门县| 昔阳县| 凤阳县| 临颍县| 岳阳县| 简阳市| 长宁县| 昭苏县| 昭觉县| 雅安市| 东平县| 罗田县| 交口县| 军事| 萨嘎县| 惠来县| 凤台县| 中超| 泸水县| 寻乌县| 黑龙江省| 曲水县| 神池县| 肇庆市| 沙田区|