免费下载!由 O’Reilly 出版的《NGINX 完全指南》中文版已正式上线 了解详情
写点什么

专访尤雨溪:先别管 4.0 了,Vue CLI 重构了解一下

  • 2018-09-06
  • 本文字数:1709 字

    阅读完需:约 6 分钟

上个月, Vue CLI 3.0 正式发布,为很多开发者带来期待已久的新特性,尤雨溪也说 Vue CLI 3.0 经历了重构,旨在尽可能减少现代前端工具在配置上的烦恼,并尽可能在工具链中加入最佳实践,让其成为 Vue 应用程序的默认实践。为了获取更多细节,InfoQ 采访了尤雨溪,以下是对采访内容的整理。

为什么要对 Vue CLI 进行大规模修改?

尤雨溪认为旧版本的 Vue CLI 本质上只是从 GitHub 拉取模版,这种拉模版的方式有几个问题:

  1. 在单个模版里面同时支持太多选项会导致模版本身变得极其复杂和难以维护,而提供多个模版一方面会让初学者无所适从,另一方面模版之间也难以共享功能或是互相迁移。CLI 3 对此的解决方案是通过插件的形式去支持多个不同的功能,一个插件对应一个功能(比如单元测试),这样即避免了多个模版,也使得 CLI 自身的可维护性得到提升。同时,支持第三方插件,使得用户可以实现各种自定义的功能扩展。

  2. 拉模版生成的项目,所有的 webpack 配置和构建脚本都直接包含在仓库中,一旦用户对这些部分做了修改,就很难再获得源模版的更新和升级。CLI 3 生成的项目,核心的 webpack 配置和构建逻辑都被封装在依赖中,同时允许用户通过配置文件来进行底层的修改。这样的好处是 CLI 更新后,用户即使做过自定义的修改也依旧可以升级。

  3. 由于核心配置都被封装起来了,所以我们有更多的空间去做更复杂的功能和优化,比如构建时的性能优化(缓存 / 多核),modern mode,生成 web component 等,而不用担心用户的项目里面充斥大量和应用本身无关的构建代码。同时以后随着 web 平台新规范的落地,我们也可以继续在 CLI 中添加各种针对性的优化,用户只需要升级即可获得。

加入 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 了,尤雨溪回应,技术职业本身是一个需要靠不断的学习来维持竞争力的职业,如果只是抱着学会一门手艺吃到老的心态做这行的话,可能会比你想象得更早被淘汰。

作为独立开发者,尤雨溪认为他的时间可以完全自由支配,不用加班,在工作和家庭平衡方面可以说比给公司打工好太多,当然,独立开发的另一面是需要自己承担更多的压力和风险,同时还要有足够的自律能力,所以不一定适合所有人,但对他来说,现在的生活状态使他非常满意。

2018-09-06 21:279333
用户头像

发布了 83 篇内容, 共 45.5 次阅读, 收获喜欢 187 次。

关注

评论 3 条评论

发布
用户头像
3.0还是挺好用的
2018-11-09 09:01
回复
用户头像
happy learnning, happy hAkking~
2018-11-08 15:40
回复
用户头像
额,重点是宣传下 CLI3。
2018-11-08 15:09
回复
没有更多了
发现更多内容

智慧公路筑基者!天翼云打造全栈能力新底座

天翼云开发者社区

探究并发和并行、同步和异步、进程和线程、阻塞和非阻塞、响应和吞吐等

C++后台开发

多线程 后端开发 并行 linux开发 C++开发

软件测试面试真题 | TCP为什么要进行三次握手和四次挥手呢?

测试人

三次握手 软件测试 自动化测试 测试开发 TCP四次挥手

融云 K 歌解决方案,应用丰富互动模式的「万能卡」

融云 RongCloud

互动平台

B站疯传 Java面试题,24小时删

程序知音

Java java面试 java架构 后端技术 Java面试八股文

三面阿里java后台开发岗总结:进阿里必看这份究极面试文档

钟奕礼

Java 编程 java程序员 java面试 java架构

钢网有多个种类,各自的用法都了解吗?

攻城狮华哥

PCB PCB设计 PCB生产

技术贴 | Rocksdb 中 Memtable 源码解析

KaiwuDB

数据库

java文件流

hello java

文件 程序 Java core 11月月更

视频服务HDR Vivid 还原色彩,让所见成“真”

HMS Core

视频 HMS Core

双11狂欢背后,火山引擎数智平台为品牌做了这件事

字节跳动数据平台

大数据 营销数字化 火山引擎

快速满足个性化业务需求的低代码平台

力软低代码开发平台

网络地址转换(NAT)(三)

我叫于豆豆吖.

11月月更

Jmix 1.4 功能概览

世开 Coding

企业级低代码 Jmix 企业级应用程序开发

奖金+生态双丰收 首届昇腾AI创新大赛圆满收官

Geek_2d6073

基金交易场景下,如何利用 Apache APISIX 来稳固 API 安全

API7.ai 技术团队

安全 金融行业 api 网关 APISIX

企业开发首选安全框架!阿里顶配版Spring Security OAuth2.0认证授权核心技术全解真香

Java永远的神

Java 源码 springboot springsecurity 安全框架

为什么变压器经常烧毁?怎么预防解决?

元器件秋姐

元器件采购 华秋商城 变压器 变压器安全

函数计算|如何使用层解决依赖包问题?

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

面向对象基础

断墨寻径

面向对象 java;

让迁移不再开盲盒,让云也能省钱丨Hackathon 项目背后的故事第一期回顾

PingCAP

hackathon

天翼云实时云渲染,助力打造世界VR产业大会云上之城

天翼云开发者社区

【从零开始学爬虫】采集同花顺基金评论数据

前嗅大数据

数据采集 爬虫软件 爬虫教程 数据采集教程 爬虫案例

天翼云打造自研云操作系统TeleCloudOS4.0 推动算力蓬勃发展

天翼云开发者社区

网络地址转换(NAT)(二)

我叫于豆豆吖.

网络 11月月更

共享开源技术,共建开放生态丨平凯星辰余梦杰出席 2022 世界互联网大会开源论坛圆桌对话

PingCAP

开源

手写一个webpack插件

Geek_02d948

webpack

Linux内存泄露案例分析和内存管理分享

京东科技开发者

负载均衡 集群 内存泄漏 Linux Cron 运维、

TiKV 源码阅读三部曲(三)写流程

PingCAP

源码阅读

数字先锋| 教育资源乘云而来!46万城乡学子共享名师课堂

天翼云开发者社区

架构实战训练营模块 5 作业

atcgnu

专访尤雨溪:先别管4.0了,Vue CLI重构了解一下_HTML5_覃云_InfoQ精选文章