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