Vue CLI 3.0正式發(fā)布醉冤,帶來多項(xiàng)重大更新

近日卫袒,Vue的作者尤雨溪在Medium上宣布正式發(fā)布Vue CLI 3.0宵呛,它也將為很多開發(fā)者帶來期待已久的新特性。

豐富的內(nèi)置功能
尤雨溪表示夕凝,Vue CLI 3.0與其他的版本完全不同烤蜕,它經(jīng)歷了重構(gòu),目的是:

1.盡可能減少現(xiàn)代前端工具在配置上的煩惱迹冤,尤其是在開發(fā)者將多個(gè)工具混合使用時(shí)讽营;

2.盡可能在工具鏈中加入最佳實(shí)踐,并讓其成為Vue應(yīng)用程序的默認(rèn)實(shí)踐泡徙。

Vue CLI的核心目標(biāo)是為基于webpack 4構(gòu)建的預(yù)配置構(gòu)建提供設(shè)置橱鹏,目標(biāo)是最大限度地減少開發(fā)人員配置的次數(shù),所以Vue CLI 3對(duì)具有以下特點(diǎn)的項(xiàng)目都支持開箱即用:

  • 預(yù)配置webpack功能,如模塊熱替換莉兰、代碼拆分挑围、 搖樹優(yōu)化(tree-shaking)、高效持久化緩存等糖荒;

  • 通過Babel 7 + preset-env(Babel插件)對(duì) ES2017進(jìn)行轉(zhuǎn)換和基于使用情況注入polyfill

  • 支持PostCSS(默認(rèn)啟用autoprefixer)和所有主要的CSS預(yù)處理器

  • Modern mode:并行發(fā)布原生ES2017 +bundle和傳統(tǒng)bundle(詳情如下)

  • 多頁面模式:構(gòu)建具有多個(gè)HTML / JS入口點(diǎn)的應(yīng)用程序

  • 構(gòu)建目標(biāo):將Vue單文件組件構(gòu)建成為庫或原生Web組件(詳情如下)

此外杉辙,你可以在創(chuàng)建新項(xiàng)目時(shí)混合選用多種集成:

  • TypeScript

  • PWA

  • Vue Router & Vuex

  • ESLint / TSLint / Prettier

  • 用Jest或Mocha進(jìn)行單元測(cè)試

  • 用Cypress 或者 Nightwatch進(jìn)行E2E 測(cè)試

而且,Vue CLI能確保上述所有功能可以很好地協(xié)同使用捶朵。

無需eject即可配置
上面列出的所有功能都支持零配置:利用Vue CLI 3構(gòu)建項(xiàng)目時(shí)蜘矢,它會(huì)安裝Vue CLI運(yùn)行時(shí)服務(wù)(@ vue / cli-service),選擇功能插件综看,生成必要的配置文件品腹。也就是說,你只需要專注于你的代碼即可红碑。

CLI工具去掉潛在的依賴關(guān)系的同時(shí)舞吭,通常也會(huì)喪失對(duì)這些依賴關(guān)系進(jìn)行微調(diào)的能力,因此析珊,用戶通常必須“eject”羡鸥,以便進(jìn)行更改。這樣做的缺點(diǎn)是忠寻,一旦彈出惧浴,從長遠(yuǎn)來看,你將無法升級(jí)到最新版本的工具了锡溯。

尤雨溪認(rèn)為以低級(jí)形式訪問configs 具有很重要的意義赶舆,但他不想拋棄那些“eject”的用戶哑姚,所以他找出了一種無需彈出的配置方法祭饭。

對(duì)于Babel、TypeScript和PostCSS等第三方集成來說叙量,Vue CLI會(huì)尊重這些工具的配置文件倡蝙。webpack用戶可以使用webpack-merge將簡單對(duì)象合并到最終配置中,或通過webpack-chain進(jìn)行精確定位和調(diào)整現(xiàn)有的加載器和插件绞佩。

此外寺鸥,Vue CLI附帶vue inspect命令可幫助你檢查內(nèi)部Webpack配置。最大的好處是品山,只需小調(diào)整不需eject胆建,你仍可以升級(jí)CLI service和插件進(jìn)行修復(fù)或更新

可擴(kuò)展的插件系統(tǒng)

Vue CLI 3插件系統(tǒng)非常強(qiáng)大:它可以在應(yīng)用程序的scaffolding階段注入依賴項(xiàng)和文件,并調(diào)整應(yīng)用程序的webpack配置肘交,或在開發(fā)期間向CLI service注入其他命令笆载。大多數(shù)像TypeScript這樣的內(nèi)置集成都使用plugin API實(shí)現(xiàn)插件功能,

而且,Vue CLI 3不再有“template”凉驻, 相反腻要,現(xiàn)在你可以進(jìn)行遠(yuǎn)程設(shè)置,與其他開發(fā)人員共享你的插件和選項(xiàng)涝登。

圖形用戶界面(GUI)

得益于Guillaume CHAU(Vue.js核心團(tuán)隊(duì))的出色表現(xiàn)雄家,Vue CLI 3還附帶了一個(gè)完整的GUI,不僅可以創(chuàng)建新項(xiàng)目胀滚,還可以管理項(xiàng)目中的插件和任務(wù)趟济,例如:

它不需要Electron,只需用vue ui啟動(dòng)它蛛淋。

注意:雖然Vue CLI 3已處于穩(wěn)定版本咙好,但UI仍處于測(cè)試階段,后續(xù)會(huì)持續(xù)更新褐荷。

Instant Prototyping

有時(shí)我們需要即時(shí)訪問工作環(huán)境以獲得新靈感勾效,此時(shí)等待npm install就成為了困擾的事。使用Vue CLI 3的vue serve命令叛甫,你只需要啟用Vue單文件組件就可進(jìn)行原型設(shè)計(jì):

image.png

更多功能

Modern Mode

有了Babel层宫,你可以使用ES2015 +中所有最新的語言功能,但這也意味著我們需要轉(zhuǎn)譯和polyfill bundle以支持舊版本的瀏覽器其监。這些轉(zhuǎn)換后的包通常比原始的原生ES2015 +代碼更冗長萌腿,解析和運(yùn)行速度也更慢。鑒于今天大多數(shù)現(xiàn)代瀏覽器都支持原生ES2015 +代碼抖苦,因此它也必須支持較舊的代碼毁菱,但對(duì)瀏覽器來說,運(yùn)行這種低效率的代碼是一種浪費(fèi)锌历。

用“Modern Mode”可幫你解決此問題贮庞。在構(gòu)建時(shí),使用以下命令:

vue-cli-service build --modern

Vue CLI將生成兩個(gè)版本的應(yīng)用程序:一個(gè)是支持ES模塊的現(xiàn)代瀏覽器的現(xiàn)代軟件包究西,以及一個(gè)不支持ES模塊的舊版瀏覽器的舊版軟件包窗慎。

生成的HTML文件自動(dòng)采用Phillip Walton帖子中討論的技術(shù):

  • < script type="module" >可在支持它的瀏覽器中加載現(xiàn)代軟件包; 也可用< link rel="modulepreload" >進(jìn)行預(yù)加載卤材;

  • 加載舊版的軟件包可以使用< script nomodule >遮斥,支持ES模塊的瀏覽器會(huì)自動(dòng)忽略該軟件包。

  • < script nomodule >的修復(fù)程序在Safari 10會(huì)自動(dòng)注入扇丛。

對(duì)于Hello World應(yīng)用程序术吗,現(xiàn)代軟件包已經(jīng)縮小了16%。在實(shí)際應(yīng)用中帆精,現(xiàn)代軟件包通常會(huì)顯著加快解析和評(píng)測(cè)速度较屿,從而提高應(yīng)用程序的加載性能

我們沒有將 modern mode作為默認(rèn)設(shè)置的原因是材蹬,如果使用CORS / CSP,你需要更長的構(gòu)建時(shí)間和一些額外的配置吝镣。

構(gòu)建Web組件
現(xiàn)在堤器,你可以在Vue CLI 3項(xiàng)目中將任何*.vue組件構(gòu)建成Web組件:

vue-cli-service build --target wc --name my-element src/MyComponent.vue

這將生成一個(gè)JavaScript包,它將內(nèi)部Vue組件包裝末贾,并注冊(cè)為頁面上的原生自定義元素闸溃,然后可以將其看做作< my-element >。

你甚至可以將多個(gè)*.vue組件構(gòu)建到具有多塊代碼拆分的包中:

vue-cli-service build --target wc-async 'src/components/*.vue'

在生成的包中包含一個(gè)小的入口文件拱撵,它將所有組件注冊(cè)為原生自定義元素辉川,但只有在頁面上首次實(shí)例化相應(yīng)的自定義元素,才能獲取底層Vue組件的代碼拴测。

使用Vue CLI 3乓旗,還可以使用相同的代碼庫來構(gòu)建應(yīng)用程序、UMD庫或原生Web組件集索。

最后屿愚,尤雨溪表示,Vue CLI 3現(xiàn)在可作為Vue應(yīng)用程序的標(biāo)準(zhǔn)構(gòu)建工具务荆,但這僅僅是個(gè)開始妆距。如上所述,Vue CLI的長期目標(biāo)是將當(dāng)前和未來的最佳實(shí)踐融入工具鏈中函匕,最終為用戶提供高性能的應(yīng)用程序娱据。

查看英文原文:https://medium.com/the-vue-point/vue-cli-3-0-is-here-c42bebe28fbb

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市盅惜,隨后出現(xiàn)的幾起案子中剩,更是在濱河造成了極大的恐慌,老刑警劉巖抒寂,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件结啼,死亡現(xiàn)場離奇詭異,居然都是意外死亡蓬推,警方通過查閱死者的電腦和手機(jī)妆棒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門澡腾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沸伏,“玉大人,你說我怎么就攤上這事动分∫阍悖” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵澜公,是天一觀的道長姆另。 經(jīng)常有香客問我喇肋,道長,這世上最難降的妖魔是什么迹辐? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任蝶防,我火速辦了婚禮,結(jié)果婚禮上明吩,老公的妹妹穿的比我還像新娘间学。我一直安慰自己,他們只是感情好印荔,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布低葫。 她就那樣靜靜地躺著,像睡著了一般仍律。 火紅的嫁衣襯著肌膚如雪嘿悬。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天水泉,我揣著相機(jī)與錄音善涨,去河邊找鬼。 笑死草则,一個(gè)胖子當(dāng)著我的面吹牛躯概,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播畔师,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼娶靡,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了看锉?” 一聲冷哼從身側(cè)響起姿锭,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎伯铣,沒想到半個(gè)月后呻此,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡腔寡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年焚鲜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片放前。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡忿磅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出凭语,到底是詐尸還是另有隱情葱她,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布似扔,位于F島的核電站吨些,受9級(jí)特大地震影響搓谆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜豪墅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一泉手、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧偶器,春花似錦螃诅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至亭枷,卻和暖如春袭艺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背叨粘。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國打工猾编, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人升敲。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓答倡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親驴党。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瘪撇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容