• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

webpack处理js兼容性问题:core-js

武飞扬头像
jieyucx
帮助3

过去我们使用 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

  1. 下载

npm i core-js

  1. 配置bable.config.js,实现自动按需加载
  • babel.config.js
module.exports = {
  // 智能预设:能够编译ES6语法
  presets: [
    [
      "@babel/preset-env",
      // 按需加载core-js的polyfill
      { useBuiltIns: "usage", corejs: { version: "3", proposals: true } },
    ],
  ],
};
  1. 打包

npm run build

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfiacge
系列文章
更多 icon
同类精品
更多 icon
继续加载