ES6的新API使用babel-polyfill来解决

本文介绍了如何在React和Vue项目中使用Babel-Polyfill来兼容新的JavaScript API,包括配置方法及解决IE浏览器特定问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Babel默认只转换新的JavaScript句法(syntax),而不转换新的API,比如Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise、Async等全局对象,以及一些定义在全局对象上的方法(比如Object.assign)都不会转码。

举例来说,ES6在Array对象上新增了Array.from方法。Babel就不会转码这个方法。如果想让这个方法运行,必须使用babel-polyfill,为当前环境提供一个垫片。

下面为具体配置方法
react及vue框架配置(使用webpack时,2、3项配置一个即可,推荐进行第3项配置)
1.安装

npm install --save babel-polyfill

2.在react或vue的项目入口文件头部导入babel-ployfill

import 'babel-polyfill';

3.在webpack的配置文件入口处,加入babel-polyfill

{entry: ['babel-polyfill', paths.appIndexJs]}

配置完成后便可以使用这些新API来愉快的开发

IE坑
1.IE打开为空白页面,首先引入babel-polyfill.
2.IE就算是引入babel-polyfill依然无法使用Proxy对象,建议在IE中最好不要用
3.vue中按需引入iview组件在IE中报eval错误
(1).安装babel-plugin-import

npm i babel-plugin-import -D

(2). 配置.babelrc文件,在plugins添加最后一项

"plugins": [
    "transform-vue-jsx",
    "transform-runtime",
    ["import", {
      "libraryName": "iview",
      "libraryDirectory": "src/components"
    }]
  ]

(3). 按需引入并注册为vue组件

import { Row, Col } from 'iview';
Vue.component('Row', Row);
Vue.component('Col', Col);

(4)扯远了,解决bug[qq:29],配置编译导入组件的loader

// 在webpack.base.conf.js的module的rules加入下面的配置
{
    test: /iview.src.*?js$/,
    loader: 'babel-loader'
},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值