專訪Vue作者尤雨溪:Vue CLI 3.0重構的原因


專訪Vue作者尤雨溪:Vue CLI 3.0重構的原因


1、為什麼要對 Vue CLI 進行大規模修改?

尤雨溪認為舊版本的 Vue CLI 本質上只是從 GitHub 拉取模版,這種拉模版的方式有幾個問題:

(1) 在單個模版裡面同時支持太多選項會導致模版本身變得極其複雜和難以維護,而提供多個模版一方面會讓初學者無所適從,另一方面模版之間也難以共享功能或是互相遷移。CLI 3 對此的解決方案是通過插件的形式去支持多個不同的功能,一個插件對應一個功能(比如單元測試),這樣即避免了多個模版,也使得 CLI 自身的可維護性得到提升。同時,支持第三方插件,使得用戶可以實現各種自定義的功能擴展。

(2)拉模版生成的項目,所有的 webpack 配置和構建腳本都直接包含在倉庫中,一旦用戶對這些部分做了修改,就很難再獲得源模版的更新和升級。CLI 3 生成的項目,核心的 webpack 配置和構建邏輯都被封裝在依賴中,同時允許用戶通過配置文件來進行底層的修改。這樣的好處是 CLI 更新後,用戶即使做過自定義的修改也依舊可以升級。

(3) 由於核心配置都被封裝起來了,所以我們有更多的空間去做更復雜的功能和優化,比如構建時的性能優化(緩存 / 多核),modern mode,生成 web component 等,而不用擔心用戶的項目裡面充斥大量和應用本身無關的構建代碼。同時以後隨著 web 平臺新規範的落地,我們也可以繼續在 CLI 中添加各種針對性的優化,用戶只需要升級即可獲得。

2、加入 GUI 是為了降低使用門檻

一直以來,人們一直認為 GUI 易用,CLI 高效,Vue CLI 3.0 中加入了 GUI,尤雨溪解釋說,主要就是為了降低使用門檻,因為命令行能展示的交互很有限,所以默認用戶對於創建項目時涉及的各種工具和配置項都有基本的瞭解。而 GUI 可以提供更多的信息幫助用戶瞭解這些東西是幹嘛的。另外 GUI 也能提供一些命令行難以展示的信息,比如通過可視化的圖表分析打包後各個模塊的大小佔比等。

有些 UI 庫 /Vue 封裝的框架也提供了腳手架,尤雨溪認為大部分庫其實不需要特別的配置,提供腳手架的庫,一般是需要進行一些特殊的配置來提升開發體驗。CLI 3 其實正是希望能夠為這種情況提供一個標準方案,所以提供了很強大的插件 API。理想情況下,所有的第三方 UI 庫都可以通過插件的形式接入 CLI 3,比如 vuetify 就有對應的 CLI 插件。至於框架(比如 nuxt),由於涉及到更高層的東西,有自身的腳手架無可厚非。

3、Vue 由獨立團隊維護,單點問題仍存在

前段時間 Vue 公司在招募全職的開源工作者,相信大家都好奇,Vue 公司是否是盈利組織,他們是如何獲取資金維持運轉的?

對此,尤雨溪答覆,目前,Vue 由獨立團隊維護,並不是那種拿投資的創業公司,資金來源就是贊助商、廣告等。現在大部分的子項目都交給團隊成員打理,Vue 核心庫依然主要由尤雨溪親自維護。

Vue 團隊成員可以複製以下鏈接在瀏覽器中打開了解:

https://vuejs.org/v2/guide/team.html

對於單點問題,尤雨溪表示,目前單點問題肯定是存在的,他接下來有一部分計劃就是細化項目的 governance model,減少項目對他的個人依賴,但這需要時間去慢慢落實。跳出前端的視野來看,Vue 其實是一個很年輕的項目,在這個階段對核心開發者的依賴是很正常的,甚至可以說是有必要的。很多現在舉足輕重的項目,比如 Linux,從某種程度上來說也存在單點問題。Python 在 Guido 宣佈退休後會怎麼發展,也讓人很難預料。

4、獨立開發者:自由與風險並存


專訪Vue作者尤雨溪:Vue CLI 3.0重構的原因


前端總流行著這麼一句話“別更新了,我學不動”,之前也曾有人惡搞 P 圖,說尤雨溪要發佈 Vue 4.0 了,尤雨溪回應,技術職業本身是一個需要靠不斷的學習來維持競爭力的職業,如果只是抱著學會一門手藝吃到老的心態做這行的話,可能會比你想象得更早被淘汰。

作為獨立開發者,尤雨溪認為他的時間可以完全自由支配,不用加班,在工作和家庭平衡方面可以說比給公司打工好太多,當然,獨立開發的另一面是需要自己承擔更多的壓力和風險,同時還要有足夠的自律能力,所以不一定適合所有人,但對他來說,現在的生活狀態使他非常滿意。

前端資料領取方法

關注+轉發後,私信關鍵詞 【前端資料】即可學習!

重要的事情說三遍,轉發、轉發、轉發後再發私信,才可以拿到哦!


分享到:


相關文章: