webpack处理js兼容性问题:core-js
过去我们使用 babel 对 js
代码进行了兼容性处理,其中使用@babel/preset-env
智能预设来处理兼容性问题。
它能将ES6
的一些语法进行编译转换,比如箭头函数、点点点运算符等。但是如果是async
函数、promise
对象、数组的一些方法(includes)
等,它没办法处理。
所以此时我们js
代码仍然存在兼容性问题,一旦遇到低版本浏览器会直接报错。所以我们想要将 js 兼容性问题彻底解决
一、什么是core-js
core-js
是一个JavaScript
库,提供了许多ES5、ES6
和其他新特性的polyfills
,以确保这些新特性在旧浏览器上的兼容性。
polyfill
翻译过来叫做垫片/补丁。就是用社区上提供的一段代码,让我们在不兼容某些新特性的浏览器上,使用该新特性。
它的主要用途是为了确保Web
应用程序在所有浏览器中都能运行,并提高代码的可移植性和可维护性。
举个例子,ES6
引入了一个新的数据结构Map
,但是在某些旧版本的浏览器中可能不支持Map
。在这种情况下,使用core-js
库的Map polyfill
可以确保Map
在旧浏览器上正常工作。同样,core-js
还提供了Promise、Set、Symbol
等其他转换和扩展功能
二、配置core-js
- 下载
npm i core-js
- 配置
bable.config.js
,实现自动按需加载
- babel.config.js
module.exports = {
// 智能预设:能够编译ES6语法
presets: [
[
"@babel/preset-env",
// 按需加载core-js的polyfill
{ useBuiltIns: "usage", corejs: { version: "3", proposals: true } },
],
],
};
- 打包
npm run build
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfiacge
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel图片置于文字下方的方法
PHP中文网 06-27