写点什么

Vue CLI 4 发布:自动化升级过程,支持自定义包管理器

  • 2019-12-28
  • 本文字数:980 字

    阅读完需:约 3 分钟

Vue CLI 4发布:自动化升级过程,支持自定义包管理器

Vue CLI团队最近把他们的命令行工具更新到了 4.0.0 版本。这一版本可以帮助开发者自动化升级过程,可以使用额外的包管理器,并可以更准确更有效移除 DOM 中多余的空格。


在 Vue CLI 3 中,“vue build”命令并不会基于 vue.config.js 的配置生成 manifest.json 文件。新版本加入了 pwa.manifestOptions 配置字段,可以根据配置对象生成 manifest.json 文件,不需要从项目公共文件夹拷贝这个文件了。这一变更为 Vue PWA 的配置管理提供了更为一致的接口。


在之前的版本中,为不同的模式运行 Vue 命令会生成不一样的目录布局。而在最新的版本中,为所有模式生成的目录布局都是一样的。


在 Vue CLI 4 中,开发者可以在 vue create 命令后面通过添加–packageManager [packagename]来指定不一样的 Node 包管理器。



要从 Vue CLI 3 升级到 4,需要执行 vue upgrade 命令。在版本 3 中,这个命令只会安装最新的 Vue CLI 插件。而在版本 4 中,Vue CLI 会运行升级插件,自动进行升级。


现在,在执行 vue upgrade 命令时,如果 CLI 发现当前代码库里有未提交的代码修改,它会与用户确认。



空格处理也在 Vue CLI4 中得到了改进。对于以下这个模板:


<p>  Welcome to <b>Vue.js</b> <i>world</i>.  Have fun!</p>
复制代码


在 Vue CLI 3 中,如果 preserveWhitespace 设置成 false 就会把这个模板编译成:


<p> Welcome to <b>Vue.js</b><i>world</i>. Have fun! </p>
复制代码


这样会出现不期望的结果:


Welcome to Vue.jsworld. Have fun!
复制代码


新版本的 CLI 为开发者提供了 whitespace: 'condense’选项来解决这个问题:


<p> Welcome to <b>Vue.js</b> <i>world</i>. Have fun! </p>
复制代码


输出结果正如我们期望的那样:


Welcome to Vue.js world. Have fun!
复制代码


新的 CLI 配置能够更准确更有效地移除多余的空格。


最新版的 Vue CLI 对底层的主要依赖进行了升级。除了 core-js-3、Nightwatch 1.x 和 Jest 24,Vue CLI 4 还加入了 Mocha 6、workbox-webpack-plugin,等等。


Vue CLI 4 的另一个改进是在应用插件的生成器时能够更好地处理异步操作。Vue CLI 4 支持生成器的异步函数。另外,新引入的 afterInvoke 和 afterAnyInvoke 钩子可以监听插件对另一个插件的调用。


要了解更多有关 Vue CLI 4 的信息,可以参考 Vue CLI升级指南


Vue CLI 基于 MIT 开源许可协议。开发者可以通过 GitHub 的vue-cli项目参与贡献,并遵循 Vue CLI贡献指南


原文链接


Vue.js CLI 4 Released


2019-12-28 09:006269

评论

发布
暂无评论
发现更多内容

“阿里爸爸”又爆新作!Github新开源303页Spring全家桶高级笔记

热爱java的分享家

Java 架构 面试 程序人生 编程语言

内测邀请|宜搭应用搭建体验全新升级,邀您抢先体验!

一只大光圈

钉钉 低代码 数字化转型 低代码平台 钉钉宜搭

惊为天人!Alibaba新产SpringBoot深度历险(嵩山版)开源

热爱java的分享家

Java 架构 面试 程序人生 编程语言

linux shell 命令行移动光标快捷键之跳到行首尾

WindFlying

中国邮政邮科院 X StarRocks:统一OLAP平台,大幅降低运维成本

StarRocks

数据库 大数据 数据分析 StarRocks

前端遇到的那些技术难点

CRMEB

Elasticsearch写入数据的过程是什么?以及是如何更新索引数据的

热爱java的分享家

Java 架构 程序人生 编程语言 架构师

用Python保住“设计大哥“的头发,直接甩给他10000张参考图,爬虫采集【稿定设计】平面模板素材

梦想橡皮擦

11月日更

技术分享 | 让实时协同的框架绘图变得丝滑起来

ShowMeBug

架构 绘图 实时消息

MatrixDB 4.3 新特性:从“持续聚集”说起

YMatrix 超融合数据库

时序数据库 分布式时序数据库 MatrixDB

自定义View:如何手动实现ViewGroup的拖拽

Changing Lin

11月日更

阿里云发布云原生加速器,携手生态企业拥抱数字时代

阿里巴巴云原生

云计算 阿里云 云原生 生态企业 创投

Go 语言学习查缺补漏ing Day1

Regan Yue

Go 语言 11月日更

AfterShip 亿级流量 API 网关的演进

AfterShip

架构演进 kong API Gateway

24H营业的无人售药机上线 EasyDL帮你实现“排队自由”

百度大脑

人工智能 百度

大规模任务调度在 AfterShip 的高可用实践

AfterShip

高可用 任务调度 基础架构

猿辅导 x StarRocks:构建统一OLAP平台,全面升级数据分析能力

StarRocks

数据库 数据分析 StarRocks

我为什么坚持在公司开分享会?

boshi

团队管理 知识管理

StarRocks在格洛博电商系统的应用实践

StarRocks

数据库 大数据 数据分析 StarRocks

Python代码阅读(第60篇):列表是否包括指定的元素

Felix

Python 编程 列表 阅读代码 Python初学者

阿里云发布云原生加速器,携手生态企业拥抱数字时代

阿里巴巴中间件

云计算 阿里云 云原生 中间件 数字化

传统IT开发与低代码开发争议白热化,技术开发规则或将重构?

优秀

低代码 低代码开发 低代码平台

NLP进阶,使用TextRNN和TextRNN_ATT实现文本分类

AI浩

文本检测实战:使用OpenCV实现文本检测(EAST 文本检测器)

AI浩

【得物技术】基于自注意机制的图像识别算法

得物技术

算法 图像识别 识别 图像 算法实践

36道Java经典基础与高级面试题,面完(18K)你同意吗?

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

19 K8S之临时/hostPath/网络存储卷

穿过生命散发芬芳

k8s 11月日更

Lenovo x StarRocks:简化数据处理链路,极大提升BI分析效率

StarRocks

数据库 大数据 数据分析 StarRocks

起飞!Alibaba全新出品JDK源码学习指南(终极版)限时开源

热爱java的分享家

Java 架构 面试 程序人生 编程语言

跨越速运 x StarRocks:统一查询引擎,强悍性能带来极速体验

StarRocks

数据库 大数据 数据分析 StarRocks

Can't Connect to MySQL Server on IP Address (10061) 错误的解决方案

蒋川

MySQL 数据库 MySQL 运维 MySQL 数据库

Vue CLI 4发布:自动化升级过程,支持自定义包管理器_大前端_Swanand Kadam_InfoQ精选文章