webpack 兼容低版本浏览器,转换ES6 ES7语法
ES6,ES7真的太棒了,async +await+Promise,让我阅读代码的时候不用再从左拉到右了(异步太多,一层套一层真的太头痛)
但是有个问题,打包后低版本浏览器运行不了,还有我用了一些混淆插件,不能解析es6的语法,导致混淆打包报错。
进入正题:ES6转ES5
1.安装依赖模块
npm install babel-polyfill --save-dev
npm install babel-preset-es2015-ie --save-dev
npm install babel-preset-env --save-dev
npm install babel-preset-stage-2 --save-dev
2.在根目录创建文件 “.babelrc”
touch .babelrc
3.在“.babelrc”写入配置
{
  "presets": [
    
["env", {
      "modules": false,
      "targets": {
        "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
      }
    }],
    "stage-2"
  ],
  "plugins": ["transform-runtime"],
  "env": {
    "test": {
      "presets": ["env", "stage-2"],
      "plugins": ["istanbul"]
    }
  }
}
4. 修改打包配置文件,通常是“webpack.base.config.js”
****
	entry: {
  main: ["babel-polyfill", "./src/main.js"]  //重点
	},
	****
{
  test: /\.js$/,
  loader: 'babel-loader',
options:{
    presets:["es2015"] //重点
  },
  exclude: /node_modules/
	},
	****此处省略1万字
5.修改入口文件“src/main.js”
import 'babel-polyfill' //顶部加入这个
***
webpack 兼容低版本浏览器,转换ES6 ES7语法的更多相关文章
- Vue2+Webpack+ES6 兼容低版本浏览器(IE9)解决方案
		
Vue2+Webpack+ES6 兼容低版本浏览器(IE9)解决方案 解决方式:安装 "babel-polyfill" 即可. 命令:npm install --save-dev ...
 - React+Webpack+ES6 兼容低版本浏览器(IE9)解决方案
		
虽然过了兼容IE6的噩梦时代,IE依旧阴魂不散,因为你可能还要兼容IE9.在ES6已经普及的今天,用ES6写react已经成了标配.但是babel编译的js语法,由于某些不规范的写法,可能在IE9下不 ...
 - 使用html5兼容低版本浏览器
		
因为html5 新出的一些语义化的标签,在低版本浏览器下不能识别,举个例子,比如你写了一个 header 标签中,写了一段文本,在低版本浏览器下,肯定是能看到的,但是,那是他是不认识 header标签 ...
 - html5标签兼容低版本浏览器
		
随着html5(后面用h5代表)标签越来越广泛的使用,IE不识别h5标签的问题让人很是烦恼. 在火狐和chrome之类的浏览器中,遇到不认识的标签,只要给个display:block属性,就能让这个元 ...
 - WebSocket解释及如何兼容低版本浏览器
		
WebSocket类似HTTP 协议,是为了弥补HTTP 协议的缺陷:通信只能由客户端发起,HTTP 协议做不到服务器主动向客户端推送信息. WebSocket 协议在2008年诞生,2011年成为国 ...
 - getElementsByClassName兼容低版本浏览器
		
var getElementsByClassName = function (searchClass, node,tag) { if(document.getElementsByClassName){ ...
 - webpack4与babel配合使es6代码可运行于低版本浏览器
		
使用es6+新语法编写代码,可是不能运行于低版本浏览器,需要将语法转换成es5的.那就借助babel7转换,再加上webpack打包,实现代码的转换. 转换包括两部分:语法和API let.const ...
 - WebSocket兼容到低版本浏览器
		
就目前而言,WebSocket是最好的Web通信解决方案了.但是IE从10才开始兼容它,对于目前大量IE8存在的市场,原生的WebSocket显然不太实用,我们需要低版本兼容的解决方案.于是我模拟We ...
 - AngularJS开发指南7:AngularJS本地化,国际化,以及兼容IE低版本浏览器
		
AngularJS本地化,国际化 国际化,简写为i18n,指的是使产品快速适应不同语言和文化. 本地化,简称l10n,是指使产品在特定文化和语言市场中可用. 对开发者来说,国际化一个应用意味着将所有的 ...
 
随机推荐
- CoffeeScript编写简单新闻页(仅UI)
			
CoffeeScript编写简单新闻页(仅UI) 1. 配置(在公司搭建好的环境下配置) omnisocials-backend/src/backend/modules/member/config/m ...
 - js中的$符
			
js中的$代表什么意思呢? 首先js的作用是什么呢?是修饰网页动态内容的.那么修饰就需要定位主题,比如你把html比喻一个美女,让她唱一首歌.那么首先你要定位出是你想让哪个美女唱歌,通常我们用id来定 ...
 - (转)PAL制式和NTSC制式的区别
			
转:https://www.cnblogs.com/nx520zj/articles/6061777.html 常见的电视信号制式是PAL和NTSC,另外还有SECAM等. NTSC即正交平衡调幅制. ...
 - 累加器A与ACC区别
			
累加器写成A或ACC在51汇编语言指令中是有区别的. ACC在汇编后的机器码必有一个字节的操作数,即累加器的字节地址E0H,A在汇编后则隐含在指令操作码中.所以在指令中A不能用ACC来替代,而对A的特 ...
 - Windows-Windows下使用Linux系统(WSL)
			
Install Windows Subsystem for Linux (WSL) on on Windows 10 | Microsoft Docs WSL(Windows Subsystem fo ...
 - VSphere随笔 - vCenter6.5安装配置手册
			
一.前期准备: 1.物理机准备 一台已安装了ESXI虚拟化系统的机器: 2.DNS服务器准备 新建一台DNS服务器,添加vcenter的双向解析. (1)安装一台win2008的机器 (2)开启DNS ...
 - js记住密码
			
$(function () { if (getCookie("rmbUser") == "true") { $("#xuanzong") ...
 - spring, spring mvc, mybatis整合文件配置详解
			
转自:http://www.cnblogs.com/wxisme/p/4924561.html 使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用 ...
 - MySQL-mysql_config_editor安全登录工具
			
mysql_config_editor出现在mysql5.6.6以后的版本,可以给指定的连接和密码生成一个加密文件.mylogin.cnf,默认位于当前用户家目录下.通过该文件可以使用mysql.my ...
 - ant打包遇到的问题
			
\build\build.xml:350: Problem: failed to create task or type foreach Cause: The name is undefined. A ...