vue中配置babel-polyfill 实现es5以上语法兼容低版本浏览器

1.为什么要用babel-polyfill

Babel默认只转换新的JavaScript句法(syntax),而不转换新的API,比如 Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise等全局对象,以及一些定义在全局对象上的方法(比如Object.assign)都不会转码。举个栗子,ES6在Array对象上新增了Array.from方法。Babel就不会转码这个方法。如果想让这个方法运行,必须使用babel-polyfill,为当前环境提供一个垫片

2.安装

npm install babel-polyfill -S

因为是一个 polyfill (它需要在你的源代码之前运行),我们需要让它成为一个 dependency(上线时的依赖),而不是一个 devDependency(开发时的依赖)

3.在 Node / Browserify / Webpack 中使用

你需要在你的应用入口顶部通过 require 将 polyfill 引入进来。确保它在任何其他代码/依赖声明之前被调用!

require("babel-polyfill");

如果你在你的应用入口使用 ES6 的 import 语法,你需要在入口顶部通过 import 将 polyfill 引入,以确保它能够最先加载:

import 'babel-polyfill';

在 webpack.config.js 中,dev-env.js 将 babel-polyfill 加到你的 entry 数组中:

module.exports = {
  entry: ["babel-polyfill", "./src/main/js"]
};

 

转自 https://blog.csdn.net/weixin_37935725/article/details/103956945

posted @ 2022-11-01 10:11  王卫朋  阅读(1307)  评论(0编辑  收藏  举报