专访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/te...
对于单点问题,尤雨溪表示,目前单点问题肯定是存在的,他接下来有一部分计划就是细化项目的 governance model,减少项目对他的个人依赖,但这需要时间去慢慢落实。跳出前端的视野来看,Vue 其实是一个很年轻的项目,在这个阶段对核心开发者的依赖是很正常的,甚至可以说是有必要的。很多现在举足轻重的项目,比如 Linux,从某种程度上来说也存在单点问题。Python 在 Guido 宣布退休后会怎么发展,也让人很难预料。
4、独立开发者:自由与风险并存

前端总流行着这么一句话“别更新了,我学不动”,之前也曾有人恶搞 P 图,说尤雨溪要发布 Vue 4.0 了,尤雨溪回应,技术职业本身是一个需要靠不断的学习来维持竞争力的职业,如果只是抱着学会一门手艺吃到老的心态做这行的话,可能会比你想象得更早被淘汰。
作为独立开发者,尤雨溪认为他的时间可以完全自由支配,不用加班,在工作和家庭平衡方面可以说比给公司打工好太多,当然,独立开发的另一面是需要自己承担更多的压力和风险,同时还要有足够的自律能力,所以不一定适合所有人,但对他来说,现在的生活状态使他非常满意。
原文链接:https://www.jianshu.com/p/51a...
专访Vue作者尤雨溪:Vue CLI 3.0重构的原因的更多相关文章
- Vue作者尤雨溪:以匠人的态度不断打磨完善Vue (图灵访谈)
访谈对象: 尤雨溪,Vue.js 创作者,Vue Technology创始人,致力于Vue的研究开发. 访谈内容: 你为何选择从事前端方面的工作? 其实,我本科读的是艺术史,研究生阶段学习Design ...
- 听说尤雨溪在开发vue4.0?是谁煽动了前端圈的焦虑情绪
导火索因P图而起 今天前端圈里被一张P图搞得好热闹,最初只是QQ群里一个冒名尤雨溪的前端网友发了一句调侃的话,原话截图如下: 看完觉得好搞笑,说尤雨溪在开发vue4.0,有谁学不动了,就给他发10块钱 ...
- React 和 Vue 到底谁更牛?听听尤雨溪怎么说
React 和 Vue 到底谁更牛?听听尤雨溪怎么说 知乎上近日有人发起了一个 “react 是不是比 vue 牛皮,为什么?” 的问题,再度引发一场关于前端框架谁更牛的口水战,评论里可以说是撕得不可 ...
- 致敬尤雨溪,Vue.js 让我赚到了第一桶金
最近这个 Vue.js 纪录片在前端圈广为传播,相信不少人已经看过了.第一次看编程领域的纪录片,感觉还挺新鲜的.这部 30 分钟左右的纪录片制作精良,主角是 Vue.js 作者尤雨溪,还穿插采访了框架 ...
- 尤雨溪:TypeScript不会取代JavaScript
来源 |evrone.com译者 | 核子可乐策划 | 蔡芳芳 近日,Evrone 与 Vue.js 的作者尤雨溪进行了一次访谈,了解他对于无后端与全栈方法.以及 Vue.js 适用场景的看法,还有他 ...
- [译] 尤雨溪:Vue 3.0 计划
[译] 尤雨溪:Vue 3.0 计划 原文:Plans for the Next Iteration of Vue.js作者:Evan You 发表时间:Sep 30, 2018译者:西楼听雨 发表时 ...
- 尤雨溪在直播中讲到的Vue3.0 Beta的那些特性,快记笔记了
前言 在那天风雨交加的夜晚,Vue的创作者尤雨溪尤大大在b站直播分享了Vue.js 3.0 Beta最新进展.我对直播的内容进行了一下整理.整整用了三天的空余时间赶上了 1. 全新文档RFCs Vue ...
- 尤雨溪的vue怎么学,应该从vue-cli开始,为什么?
带手机验证码登陆, 带全套购物车系统 带数据库 前后端分离开发 带定位用户功能 数据库代码为本地制作好了 带支付宝支付系统 带django开发服务器接口教程 地址: https://www.dua ...
- 蒲公英 · JELLY技术周刊 Vol.12 尤雨溪新作 Vite, 你会支持么?
「蒲公英」期刊,每周更新,我们专注于挖掘「基础技术.工程化.跨端框架技术.图形编程.服务端开发.桌面开发.人工智能」等多个大方向的业界热点,并加以专业的解读:不仅如此,我们还精选凹凸技术文章,向大家呈 ...
随机推荐
- bzoj4472: [Jsoi2015]salesman(树形dp)
Description 某售货员小T要到若干城镇去推销商品,由于该地区是交通不便的山区,任意两个城镇之间都只有唯一的可能经过其它城镇的路线. 小T 可以准确地估计出在每个城镇停留的净收益.这些净收益可 ...
- PJzhang:centos7上LNMP方式安装dvwa漏洞测试环境
猫宁!!! 参考链接:https://www.jianshu.com/p/5491ce5bfbac https://www.cnblogs.com/wujuntian/p/8183952.html h ...
- poj 1723 Soldiers【中位数】By cellur925
题目传送门 题目大意:平面上有n个士兵,给出每个士兵的坐标,求出使这些士兵站好所需要的最少移动步数.站好要求:所有士兵y相等,x相邻.即达到 (x,y), (x+1, y), (x+2,y)……的状态 ...
- vim 不同的插入方式
在命令行模式下进入到输入模式 可以敲击 i.a.o. s. I. A. O. S 它们之间的区别做下备忘:i:在光标所在字符前开始插入a:在光标所在字符后开始插入o:在光标所在行的下面另起一新行插入s ...
- 编译安装Apache:出现错误configure: error: mod_deflate
在进行编译安装Apache时,出现如下错误 checking whether to enable mod_deflate... configure: error: mod_deflate has be ...
- 转 Oracle最新PSU大搜罗
Quick Reference to Patch Numbers for Database/GI PSU, SPU(CPU), Bundle Patches and Patchsets (文档 ID ...
- 477 Total Hamming Distance 汉明距离总和
两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量.计算一个数组中,任意两个数之间汉明距离的总和.示例:输入: 4, 14, 2输出: 6解释: 在二进制表示中,4表示为0100,14表 ...
- D. Tavas and Malekas DFS模拟 + kmp + hash || kmp + hash
http://codeforces.com/contest/535/problem/D 如果真的要把m个串覆盖上一个串上面,是可以得,不会超时. 要注意到一点,全部覆盖后再判断时候合法,和边放边判断, ...
- drbd 配置
DRBD(Distributed Replicated Block Device),DRBD 号称是 "网络 RAID",开源软件,由 LINBIT 公司开发.DRBD实际上是一种 ...
- #219. 【NOI2016】优秀的拆分
如果一个字符串可以被拆分为 AABBAABB 的形式,其中 AA 和 BB 是任意非空字符串,则我们称该字符串的这种拆分是优秀的. 例如,对于字符串 aabaabaa,如果令 A=aabA=aab ...