摘要:是一款擁抱未來的框架,致力于集成項目最佳實踐,規范項目讓企業級團隊開發變得更加簡單,更加高效。中使用更優雅的解決異步問題,這個理念和是完全一致的。同時,提供一套進程之間通信的方式,如通知其他進程執行某個任務,代碼在線更新后重啟所有的子進程。
ThinkJS 是一款擁抱未來的 Node.js Web 框架,致力于集成項目最佳實踐,規范項目讓企業級團隊開發變得更加簡單,更加高效。我們的 Github 地址是:https://github.com/thinkjs/th... 歡迎大家 star~
在 ThinkJS 2.x 發布的時候,雖然我們帶來了很多非常棒的功能,但我們也意識到本身的不足。針對這些問題,開發團隊經過幾個月的緊張開發,我們很高興的宣布,ThinkJS 迎來了新的大版本 3.0。目前該版本已經在線上多個項目中使用,簡單一個命令就可以讓你下載使用它:
npm install -g think-cli有哪些更新?
正如之前所說,為了解決之前遺留的不足問題我們開發了新版本,下圖為我們新版的架構圖。
除了引進了新的架構,對框架進行高度解構外,我們還增加了很多新的功能,優化了老版為人詬病的用法,下面就讓我們來具體看看有哪些更新吧。
基于 Koa 重構框架架構相較于之前使用自身集成架構,3.0 最大的改變就是將底層架構基于 Koa 重構。重構之后的 ThinkJS 3.0 版本能完全兼容 Koa 的中間件。使用 Koa 重構主要有下面幾個原因:
Koa 現在已經比較穩定,洋蔥模型的中間件更能滿足多維度的需求,同時中間件生態已經慢慢成熟。這些都是 ThinkJS 之前所不具備的,基于 Koa 后就可以站在巨人的肩膀上,可以做的更好。
Koa 2.0 中使用更優雅的 async/await 解決異步問題,這個理念和 ThinkJS 是完全一致的。借助 Babel 在 ThinkJS 2.x 版本中就可以使用這些 ES next 語法功能。隨著 Node 8.x LTS 的即將發布, async/await 被原生支持后我們就可以不用借助 Babel 轉譯直接在生產環境中使用了。
精簡核心,支持擴展和適配器ThinkJS 2.x 版本內置了很多功能,這些功能基本上是很多項目的最佳實踐,但并不一是每個項目都需要這些所有的功能,但基于 2.x 的架構要實現這個需求就非常困難。所以 ThinkJS 3.0 版本基于 Koa 重構后在這塊做了精簡,不再提供豐富的功能,而是提供一個最基本的核心,然后通過擴展滿足更多的需求。
多進程模型ThinkJS 2.x 單進程是可選配置,且框架設計較為簡單,很多功能需要開發者手動處理。我們在 3.0 中開發了 think-cluster 模塊直接內置了多進程模型,最大限度的利用多核 CPU 提高響應速度。 同時,提供一套進程之間通信的方式,如::通知其他進程執行某個任務,代碼在線更新后重啟所有的子進程。
智能的錯誤提示Node.js 開發中一個比較頭疼的問題就是錯誤處理問題,遇到問題后查錯和定位問題后比較麻煩,尤其是使用了 Babel 轉譯之后,為此我們專門開發了 think-trace 模塊用來跟蹤錯誤問題,能夠更加友好的捕捉顯示錯誤堆棧信息。
還有!除了剛才說的一些功能,我們還有一些其它的更新要告訴大家:
增加 think-crontab 模塊,強化框架的定時任務功能
重構日志功能,基于 think-logger3 模塊構建框架日志系統
重構框架數據庫操作邏輯,增加 think-model, think-mongoose, think-sequelize 模塊完善框架數據庫操作功能
感謝最后感謝所有使用 ThinkJS 框架的用戶,感謝你們多年來的支持,是你們的存在讓我們有了更進一步的勇氣。當然還需要感謝所有為 ThinkJS 項目做過貢獻的貢獻者,包括代碼貢獻和文檔貢獻,你們的努力讓 ThinkJS 變的越來越棒!如果沒時間幫助貢獻代碼想用其它方式支持我們也可以通過捐贈的方式支持我們,你們的捐贈會用來幫助 ThinkJS 推廣。感謝你們所有人,讓我們一起擁抱 ThinkJS,期待更美好的未來吧!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/85218.html
摘要:非常有幸邀請到李成銀老師,進行一期圖靈專訪。具體工作中,技術能力可能只占了,軟素質方面的能力卻高達。大數據處理隨著大數據處理越來越熱門,很多項目都要在前端進行大數據處理和展現。提案可以大大提升在大數據處理方面的性能。 非商業轉載請注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/article/260246 李成銀,奇虎360前端技術專家,Th...
摘要:一入冬懶癌發作,給自己找點事干。之前博客程序寫過幾次,的寫過兩次,用寫過,隨著版本從升級到之前的博客程序也做過升級。這里主要記錄一下開發過程中遇到的問題和解決方法。后端使用守護進程即可。 一入冬懶癌發作,給自己找點事干。之前博客程序寫過幾次,php 的寫過兩次,nodejs 用 ThinkJS 寫過,隨著 ThinkJS 版本從1.x 升級到 2.x 之前的博客程序也做過升級。但是因為...
摘要:只能在不同的時候選用不同的假設和不同的理論來解釋問題,許來西的文章講到科學一定程度上通過放棄一貫性換取了實用性,放棄自洽性換取了它洽性。然而遺憾的是本身只提供了模塊和洋蔥模型的最小封裝。 在寫干貨之前,我想先探(qiang)討(diao)兩個問題,模式的局限性?模式有什么用? 最近看到一篇文章對我啟發很大,許來西在知乎的回答《哲學和科學有什么關聯?》,全篇較長,這里摘錄我要引出的一點:...
閱讀 3035·2023-04-26 03:01
閱讀 3538·2023-04-25 19:54
閱讀 1592·2021-11-24 09:39
閱讀 1374·2021-11-19 09:40
閱讀 4250·2021-10-14 09:43
閱讀 2062·2019-08-30 15:56
閱讀 1490·2019-08-30 13:52
閱讀 1660·2019-08-29 13:05