QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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:006127

评论

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

商业模式创新

soho

3种面向“对象”编程,你是哪一种?

凌晞

架构 研发管理

大数据分析与运营(二)

soho

设计微博系统中”微博评论“的高性能高可用计算架构

Vincent

架构训练营

微服务架构实施原理详解

xcbeyond

微服务 6月日更

记一次 go-micro 服务异常退出问题的根因分析

ccx

大数据分析与运营(一)

soho

架构实战营 模块五:课后作业

👈

架构实战营

架构实战营 - 模块 5- 作业

请弄脏我的身体

架构实战营

我不信有Java程序员没犯过这10个SQL错误

北游学Java

Java sql

网络攻防学习笔记 Day37

穿过生命散发芬芳

网络攻防 6月日更

【Flutter 专题】111 图解关乎 SQL 数据库的二三事 (二) 之【小封装】

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

架构实战营 模块五:学习总结

👈

架构实战营

如果父母依旧辛苦,那我们的成长又有什么意义?

牧小农

故事 父母

看来,MySQL next-key lock 的 bug 并没有被修复!

程序员小航

MySQL 数据库锁

模块五作业 - ”微博评论“的高性能高可用计算架构

张大彪

架构训练营作业5

梦寐凯旋

架构训练营

Kubernetes手记(3)- 核心组件/附件

雪雷

k8s 6月日更

揭秘苹果应用审核团队(史上最全版)

37手游iOS技术运营团队

ios apple Apple Developer iOS Developer 苹果退款

Crontab中文表达式解析

Java crontab

可落地的积极心态

蛋先生DX

心态 6月日更

JSON.parse无双引号如何实现转换

吴脑的键客

JavaScript

使用 Docker 安装并连接 MySQL

程序员小航

MySQL Docker

MySQL next-key lock 加锁范围是什么?

程序员小航

MySQL 索引 数据库锁 主键

MySQL普通索引的加锁

程序员小航

MySQL 数据库锁

架构训练营模块5作业

Neil43

架构训练营

Go 并发基础

Damon

Go 语言 6月日更

身为程序员 你真的会使用github搜索吗?

madison

GitHub GitHub Pages 高效搜索 搜索技巧

web ssh解决方案——WGCLOUD

王逅逅

zabbix linux运维 运维监控

架构实战营 - 模块 05 作业

架构实战营

架构实战营 模块五:课后作业

Ahu

架构实战营

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