專訪尤雨溪:先別管4.0了,Vue CLI重構瞭解一下
\\\上個月,Vue CLI 3.0 正式釋出,為很多開發者帶來期待已久的新特性,尤雨溪也說 Vue CLI 3.0 經歷了重構,旨在儘可能減少現代前端工具在配置上的煩惱,並儘可能在工具鏈中加入最佳實踐,讓其成為 Vue 應用程式的預設實踐。為了獲取更多細節,InfoQ 採訪了尤雨溪,以下是對採訪內容的整理。
\為什麼要對 Vue CLI 進行大規模修改?
\
尤雨溪認為舊版本的 Vue CLI 本質上只是從 GitHub 拉取模版,這種拉模版的方式有幾個問題:
\\- \\t
在單個模版裡面同時支援太多選項會導致模版本身變得極其複雜和難以維護,而提供多個模版一方面會讓初學者無所適從,另一方面模版之間也難以共享功能或是互相遷移。CLI 3 對此的解決方案是通過外掛的形式去支援多個不同的功能,一個外掛對應一個功能(比如單元測試),這樣即避免了多個模版,也使得 CLI 自身的可維護性得到提升。同時,支援第三方外掛,使得使用者可以實現各種自定義的功能擴充套件。
\\t\\t - \\t
拉模版生成的專案,所有的 webpack 配置和構建指令碼都直接包含在倉庫中,一旦使用者對這些部分做了修改,就很難再獲得源模版的更新和升級。CLI 3 生成的專案,核心的 webpack 配置和構建邏輯都被封裝在依賴中,同時允許使用者通過配置檔案來進行底層的修改。這樣的好處是 CLI 更新後,使用者即使做過自定義的修改也依舊可以升級。
\\t\\t - \\t
由於核心配置都被封裝起來了,所以我們有更多的空間去做更復雜的功能和優化,比如構建時的效能優化(快取 / 多核),modern mode,生成 web component 等,而不用擔心使用者的專案裡面充斥大量和應用本身無關的構建程式碼。同時以後隨著 web 平臺新規範的落地,我們也可以繼續在 CLI 中新增各種針對性的優化,使用者只需要升級即可獲得。
\\t\
加入 GUI 是為了降低使用門檻
\一直以來,人們一直認為 GUI 易用,CLI 高效,Vue CLI 3.0 中加入了 GUI,尤雨溪解釋說,主要就是為了降低使用門檻,因為命令列能展示的互動很有限,所以預設使用者對於建立專案時涉及的各種工具和配置項都有基本的瞭解。而 GUI 可以提供更多的資訊幫助使用者瞭解這些東西是幹嘛的。另外 GUI 也能提供一些命令列難以展示的資訊,比如通過視覺化的圖表分析打包後各個模組的大小佔比等。
\\有些 UI 庫 /Vue 封裝的框架也提供了腳手架,尤雨溪認為大部分庫其實不需要特別的配置,提供腳手架的庫,一般是需要進行一些特殊的配置來提升開發體驗。CLI 3 其實正是希望能夠為這種情況提供一個標準方案,所以提供了很強大的外掛 API。理想情況下,所有的第三方 UI 庫都可以通過外掛的形式接入 CLI 3,比如 vuetify 就有對應的 CLI 外掛。至於框架(比如 nuxt),由於涉及到更高層的東西,有自身的腳手架無可厚非。
\\Vue 由獨立團隊維護,單點問題仍存在前段時間 Vue 公司在招募全職的開源工作者,相信大家都好奇,Vue 公司是否是盈利組織,他們是如何獲取資金維持運轉的?
\\對此,尤雨溪答覆,目前,Vue 由獨立團隊維護,並不是那種拿投資的創業公司,資金來源就是贊助商、廣告等。現在大部分的子專案都交給團隊成員打理,Vue 核心庫依然主要由尤雨溪親自維護。
\\Vue 團隊成員可以戳以下連結瞭解。
\\對於單點問題,尤雨溪表示,目前單點問題肯定是存在的,他接下來有一部分計劃就是細化專案的 governance model,減少專案對他的個人依賴,但這需要時間去慢慢落實。跳出前端的視野來看,Vue 其實是一個很年輕的專案,在這個階段對核心開發者的依賴是很正常的,甚至可以說是有必要的。很多現在舉足輕重的專案,比如 Linux,從某種程度上來說也存在單點問題。Python 在 Guido 宣佈退休後會怎麼發展,也讓人很難預料。
\\獨立開發者:自由與風險並存
\\\前端總流行著這麼一句話“別更新了,我學不動”,之前也曾有人惡搞 P 圖,說尤雨溪要釋出 Vue 4.0 了,尤雨溪回應,技術職業本身是一個需要靠不斷的學習來維持競爭力的職業,如果只是抱著學會一門手藝吃到老的心態做這行的話,可能會比你想象得更早被淘汰。
\\作為獨立開發者,尤雨溪認為他的時間可以完全自由支配,不用加班,在工作和家庭平衡方面可以說比給公司打工好太多,當然,獨立開發的另一面是需要自己承擔更多的壓力和風險,同時還要有足夠的自律能力,所以不一定適合所有人,但對他來說,現在的生活狀態使他非常滿意。
相關文章
- [譯] 尤雨溪:Vue 3.0 計劃Vue
- Vue.js作者尤雨溪談VueJS!Vue.js
- 和尤雨溪一起進階vueVue
- 和尤雨溪一起進階vue(二)Vue
- 尤雨溪談 Vue.js :締造自由與真我Vue.js
- [譯]尤雨溪:Vue3的設計過程Vue
- 尤雨溪:Vue3.0正式全球釋出會_2020Vue
- React 和 Vue 到底誰更牛?聽聽尤雨溪怎麼說ReactVue
- 前端重構方案瞭解一下前端
- 尤雨溪都在推薦的Naive UI,Vue元件庫的新選擇,好用到爆!AIUIVue元件
- 掘金 AMA:聽 Vue.js 作者--尤雨溪談 Vue.js & 獨立開發 & 設計那些事Vue.js
- Vue.js 創始人尤雨溪回應“Vue涉及國家安全漏洞”相關傳聞Vue.js
- 掘金 AMA:我是 Vue.js 作者--尤雨溪,你有什麼問題想問我?Vue.js
- 尤雨溪官宣:Vue 3 將於 2022 年 2 月 7 日成為新的預設版本!Vue
- Vue-cli 工具 / 通過 Vue-cli 工具重構 todoListVue
- vue-cli構建vue專案Vue
- 瞭解重構
- vue-cli 專案結構Vue
- 蒲公英 · JELLY技術週刊 Vol.12 尤雨溪新作 Vite, 你會支援麼?Vite
- NativeScript-Vue,瞭解一下?Vue
- 尤雨溪推薦神器 ni ,能替代 npm/yarn/pnpm ?簡單好用!原始碼揭祕!NPMYarn原始碼
- 尤雨溪批判使用者擅自部署 Vue/Vite 中文文件;Spring Boot 2.5.5 正式版釋出 | 思否週刊VueViteSpring Boot
- vue-cli3構建專案跨域解決方案Vue跨域
- vue-cli#4.7專案結構分析Vue
- vue-cli構建專案使用 lessVue
- Vue(1):用Vue-cli構建Vue3專案Vue
- vue(16)vue-cli建立專案以及專案結構解析Vue
- 你應該瞭解一下 Vue NativeVue
- Vue CLI 4與專案構建實戰指南Vue
- 以vue-cli為例,瞭解webpack的hash、chunkhash、contenthashVueWeb
- 簡單瞭解一下pinia的結構
- 使用vue-cli搭建VUE專案Vue
- 使用vue-cli3構建的vue單頁面專案seoVue
- 尤雨溪幾年前開發的“玩具 vite”,才100多行程式碼,卻十分有助於理解 vite 原理Vite行程
- 淺入瞭解 vue cli3.0 生成了什麼東西Vue
- vue-cli 目錄結構詳細講解Vue
- 簡述vue-cli 2.x和vue-cli 3+在專案構建、執行、編譯執行時的區別Vue編譯
- vue cli 快速搭建專案Vue