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

这篇具有很好参考价值的文章主要介绍了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

  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文章来源地址https://www.toymoban.com/news/detail-494443.html

到了这里,关于webpack处理js兼容性问题之core-js的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CSS3属性详解(一)文本 盒模型中的 box-ssize 属性 处理兼容性问题:私有前缀 边框 背景属性 渐变 前端开发入门笔记(七)

    CSS3是用于为HTML文档添加样式和布局的最新版本的层叠样式表 (Cascading Style Sheets)。下面是一些常用的CSS3属性及其详细解释: border-radius:设置元素的边框圆角的半径。可以使用四个值设置四个不同的圆角半径,也可以只使用一个值来设置统一的圆角。 box-shadow:创建一个元

    2024年02月08日
    浏览(54)
  • TRichView兼容性问题 Crack

    Markdown导入和导出现在支持存储在Markdown文本中的图像,而不是外部文件。 在TRichView.MarkdownProperties.SaveOptions:rvmdsoInlineImages中添加了一个新选项。 兼容性问题: TRichView.SavePicture有一个新参数:IsBackgroundImage。 对于Apple macOS,Ctrl在默认快捷方式和编辑器中的超链接激活中已更改

    2024年02月04日
    浏览(54)
  • Microsoft edge兼容性问题

    连接需要登录界面的无线网络时候,Microsoft edge老是会出现兼容性问题的错误。 这时候设置什么也打不开。 通过网上搜索,我是通过修改注册表的方法成功的。 Win10 Edge兼容性问题打不开|解决浏览器兼容性问题_白云一键重装系统 步骤一:打开运行 ①可以同时按键盘的Win和

    2024年02月10日
    浏览(64)
  • 移动端兼容性问题集锦

    去年主要工作就是混合开发,写app内嵌的h5。在开发期间多多少少遇到些兼容性问题,最近工作比较清闲,整理下方便以后查阅,也希望能帮助到一些同学。 并且本文会持续补充内容,欢迎关注我,另外我会更新一些前端方面的其他一些知识。 问题描述: ios规定日期要以“

    2023年04月08日
    浏览(41)
  • 解决flex gap兼容性问题

    一个项目写下来,在网页端预览的时候正常,结果到产品经理手上。 设计稿样式 实际产品手机上样式 产品:“你这玩意儿怎么没间距?” 我:“为什么我的正常???呐呐呐你看我手机(来自RedmeK50Utral)” 产品:“哦,你看我的手机(来自荣耀20)” 我:“。。。” 至此

    2024年02月07日
    浏览(55)
  • 解决前端浏览器兼容性问题

    解决前端浏览器兼容性问题时前端开发中的一项重要任务。以下是一些常用的方法来解决这类问题: 1、使用css前缀: 不同浏览器可能对某些CSS属性有不同的前缀要求。可以使用CSS前缀来覆盖不同浏览器的样式需求。例如,使用 -webkit 前缀来适配WebKit(Chrome、Safari)浏览器

    2024年02月09日
    浏览(48)
  • Qt绘制边框有阴影兼容性问题

    在Qt开发过程中,有时候我们要显示一个有阴影的对话框,这时一般采用自定义实现,然而最近在开发时软件时,Win11上显示正常,Win10或其他Win11电脑显示不正常,存在兼容性问题吗? 下面是具体的源码 运行点击Button按钮 这是在Win11上显示的效果 这是在Win10上显示的效果,很

    2024年04月23日
    浏览(46)
  • 如何解决群晖硬盘兼容性问题

    首先,在群晖设置-终端-启用SSH。然后,下载putty,用administrator管理权限组的账号登录, 如输入“ssh 你的DSM用户名@IP”,输入登录密码登录。最后,运行以下命令切换到root权限。 sudo - i 进到系统配置文件夹。 cd  /etc.default 备份配置文件 cp  synoinfo.conf synoinfo.conf2 编辑配置文

    2024年02月09日
    浏览(211)
  • 【H5】H5安卓、ios兼容性问题

    H5在安卓机型和IOS机型或者相同机型的不同浏览器中的某些样式会存在不一样的表现,所以需要解决相应的兼容性问题 1、IOS端兼容input光标高度 问题症状:input输入框光标,在安卓手机上显示没有问题,但是在苹果手机上当点击输入的时候,光标的高度和父盒子的高度一样

    2024年02月16日
    浏览(61)
  • 微信小程序、h5兼容性问题(1)

    1. 微信小程序中border-image 设置渐变 导致border-radius 不生效。 不建议两者同时使用,实测ipone12 不兼容, ipone 12以上正常显示。可以使用背景图片代替。 2. h5 使用原生table tr、th、td封装表格,在ios 中样式失效 建议使用dev 整体布局。 3. 企业微信群二维码插件materialPlugin、cell

    2023年04月09日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包