ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Vue CLI 浏览器兼容性

2021-09-15 23:04:32  阅读:183  来源: 互联网

标签:browserslist 浏览器 CLI babel 兼容性 Vue preset


浏览器兼容性

关于浏览器的兼容我们可以从下面一些内容来了解与认识:

Vue CLI 3初始化的项目,你会发现有 package.json 文件里的 browserslist 字段 (或一个单独的 .browserslistrc 文件),指定了项目的目标浏览器的范围。这个值会被 @babel/preset-envAutoprefixer 用来确定需要转译的 JavaScript 特性和需要添加的 CSS 浏览器前缀。

我们通常只需要修改browserslist就可兼容目标浏览器:

"browserslist": [
	"ie 10"
]

Polyfills

一个默认的 Vue CLI 项目会使用 @vue/babel-preset-app 它会通过@babel/preset-envbrowserslist 配置来决定项目需要的polyfill。

现代模式

借助Babel,我们可以利用ES2015 + 中的所有最新语言功能,但是我们也必须提供transpiled 和 polyfilled 包来支持比较旧的浏览器,这些 transpiled bundle 通常比原始的本地 ES2015+ 代码更详细,解析和运行也就更慢。

因此 Vue CLI 提供了现代模式来帮助我们解决了此问题,使用以下命令进行生产构建时,它会产生两个应用程序版本:

  • 一个针对支持 ES 模块的现代浏览器的现代捆绑软件
  • 一个是不针对支持ES 模块的较旧浏览器的传统捆绑 软件
vue-cli-service build --modern

我们还可以在它的配置中来检测当前模式,有时候我们只需要为旧版或现代版更改webpack配置就可以了。

Vue CLI 使用两个环境变量来传达信息:

  • VUE_CLI_MODERN_MODE:构建从 --modern 标志开始。
  • VUE_CLI_MODERN_BUILD:如果为 true,则当前配置适用于现代版本,否则将用于旧版本。

标签:browserslist,浏览器,CLI,babel,兼容性,Vue,preset
来源: https://blog.csdn.net/ivenqin/article/details/120319013

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有