摘要:中即將推出的變化輸入提升自發布以來,我們一直在收到更好的集成請求。然而,當使用開箱即用的時,目前的集成有些缺乏。例如,不能輕易地推斷使用的基于對象的默認中的類型。這也使得將現有代碼庫遷移到更具挑戰性。
Vue 2.5中即將推出的TypeScript變化 輸入提升
自Vue 2.0發布以來,我們一直在收到更好的 TypeScript 集成請求。 自從發布以來,我們已經為大多數核心庫(vue, vue-router, vuex)包含了官方的 TypeScript 類型聲明。 然而,當使用開箱即用的 Vue API 時,目前的集成有些缺乏。 例如,TypeScript 不能輕易地推斷 Vue 使用的基于對象的默認 API 中 this 的類型。 為了使我們的 Vue 代碼可以很好地使用 TypeScript,我們必須使用 vue-class-component 裝飾器,這樣我們可以使用基于類的語法來創建 Vue 組件。
對于喜歡基于類的API的用戶來說,這可能已經足夠好了,但對于僅僅為了類型推斷的用戶不得不使用不同的API是不幸的。 這也使得將現有 Vue 代碼庫遷移到 TypeScript 更具挑戰性。
今年早些時候,TypeScript 引入了許多新功能,這樣就可以改進Vue的類型聲明從而使得 TypeScript 可以更好地理解基于對象字面量的 API。 來自 TypeScript 團隊的 Daniel Rosenwasser 開始了一個雄心勃勃的PR(現在由核心團隊成員 HerringtonDarkholme 在這維護),一旦合并,將提供:
使用默認的 Vue API 時,對于 this 可以使用適當的類型推斷。 它也可以在單文件組件中工作!
基于組件的 props 選項,對于 this 中的 props 輸入推斷。
最重要的是,這些改進也使得純 JavaScript 用戶受益匪淺! 如果你使用 VSCode 與超級棒的的 Vetur 擴展,你將獲得大大改進的自動完成建議,甚至在Vue組件中使用純 JavaScript 時也能獲得輸入提示! 這是因為vue-language-server是負責分析 Vue 組件的內部包,可以利用 TypeScript 編譯器來提取有關你的代碼的更多信息。 此外,任何支持語言服務器協議的編輯器都可以利用 vue-language-server來提供類似的功能。
對于那些好奇的人,你可以通過克隆這個 playground 項目(確保獲取 new-types 的分支)并使用 VSCode + Vetur 打開它來嘗試一下!
TypeScript用戶可能需要的操作輸入升級將在 Vue 2.5 中發布,目前計劃在10月初發布。 我們正在發布一個小版本,因為 JavaScript 公共 API 沒有任何突破性的變化,但是升級可能需要現有的 TypeScript + Vue 用戶采取一些操作。 這就是為什么我們現在宣布改變,以便你有足夠的時間來計劃升級。
新的輸入至少需要 TypeScript 2.4 版本,建議升級到最新版本的 TypeScript 以及 Vue 2.5。
之前,我們已經推薦將 tsconfig.json 設為 “allowSyntheticDefaultImports”: true 從而在任何地方使用 ES 風格的導入(import Vue from "vue")。 新的輸入將正式轉換為ES風格的導入/導出語法,因此不再需要配置,并且用戶在所有情況下都需要使用ES風格的導入。
為了配合導出語法的改變,以下依賴于 Vue 核心輸入的核心庫 vuex, vue-router, vuex-router-sync, vue-class-component 將會收到新的主要版本,并且應與 Vue 核心 2.5 一起升級。
當執行自定義模塊擴充時,用戶應該使用 interface VueConstructor 而不是 namespace Vue。(example diff)
如果使用 ComponentOptions
我們盡力減少所需的升級工作,這些類型的改進與 vue-class-component 中使用的基于類的 API 兼容。 對于大多數用戶來說,只需升級依賴并切換到ES風格的導入即可。 同時,我們還建議你將Vue 版本鎖定到2.4.x,直到你準備升級為止。
未來規劃:vue-cli中的TypeScript支持2.5之后,我們計劃在下一個版本的 vue-cli 中引入對TypeScript 的官方支持,以便使 TS + Vue 用戶更輕松地啟動新項目。 敬請關注!
對于非TypeScript用戶這些更改不會以任何負面的方式影響非 TypeScript Vue 用戶; 根據公共JavaScript API,2.5 將完全向后兼容,并且TypeScript CLI集成將完全選擇加入。 但是如上所述,如果你使用vue-language-server強大的編輯器擴展,則會注意到更好的自動完成建議。
—
感謝 Daniel Rosenwasser, HerringtonDarkholme, Katashin 以及 Pine Wu 對于這些特性的工作以及對這篇文章的審閱。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88950.html
摘要:感謝來自團隊的發起的,以及核心團隊成員和的改進和審查。在中,我們已經發布了一個與環境無關的版本,可以在瀏覽器或純引擎中使用。同樣,我們建議你查看完整的發布說明從而了解其他的改進,包括,,,等。 原文:Vue 2.5 released 譯者:neal1991 welcome to star my articles-translator , providing you advanced ...
2017-08-18 前端日報 精選 [譯] 關于 React Router 4 的一切騰訊祭出大招VasSonic,讓你的H5頁面首屏秒開用簡單的方法學習ECMAScript 6【譯】一個小時搭建一個全棧Web應用框架你應該知道的Debug技巧Understanding V8’s Bytecode – DailyJS – MediumAnnouncing TypeScript 2.5 RC 中文...
摘要:他們的計劃是,使用微軟開發者們所習慣的其他語言的開發工具所支持的靜態類型,得到更好的代碼。在微軟內部,被和以及團隊所使用,而且它被系的等公司使用。標準的編輯,同時也是微軟項目高級經理的也同意。 本文轉載自:眾成翻譯譯者:文藺鏈接:http://www.zcfy.cc/article/895原文:http://thenewstack.io/javascript-transpilers-n...
摘要:前端每周清單年度總結與盤點在過去的八個月中,我幾乎只做了兩件事,工作與整理前端每周清單。本文末尾我會附上清單線索來源與目前共期清單的地址,感謝每一位閱讀鼓勵過的朋友,希望你們能夠繼續支持未來的每周清單。 showImg(https://segmentfault.com/img/remote/1460000010890043); 前端每周清單年度總結與盤點 在過去的八個月中,我幾乎只做了...
閱讀 2706·2023-04-26 02:02
閱讀 2571·2023-04-25 20:38
閱讀 4098·2021-09-26 09:47
閱讀 3092·2021-09-10 10:50
閱讀 3765·2021-09-07 09:58
閱讀 3326·2019-08-30 15:54
閱讀 2694·2019-08-30 15:54
閱讀 1918·2019-08-29 17:03