详解webpack babel的配置


Posted in Javascript onJanuary 09, 2018

Babel是什么

Babel是一个编译JavaScript的平台,它的强大之处表现在可以通过编译帮你达到:

  1. 使用下一代的javascript(ES6,ES7,……)代码,即使当前浏览器没有完成支持;
  2. 使用基于JavvScript进行扩展语言,比如React的JSX;

npm i babel-core babel-preset-env babel-loader babel-plugin-transform-runtime babel-preset-stage-2 -D

关于babel的使用

首先 babel-preset-es2015 已经废弃,你可以使用 babel-preset-env 来代替它,后者比前者更好的更方便,这里不在赘述。

babel-polyfill VS babel-runtime VS babel-plugin-transform-runtime

  1. 首先 babel-polyfill 是对所有的API进行全局设置。并且会污染全局变量。
  2. babel-runtime 需要对你需要的API,如:Object.assign()。会先require()
  3. babel-plugin-transform-runtime 最推荐。它不需要require()也不会全局污染,并且,更厉害的是它是按需打包,全自动。

开始

/**** webpack.config.js ****/
// 在规则中增加
{
  test: /\.js$/,
  use: 'babel-loader',
  // 只处理src目录下面的。
  // 你也可以配置一条规则处理node_modules下面的。
  // 我记得swiper不知道哪一版本的直接把原来为编译的es6的语法塞给我,导致浏览器不兼容。
  include:[resolve('../src')]
}
/**** .babelrc ****/
// presets字段设定转码规则
{
 "presets": [
  ["env", {
   "modules": false,
   // 需要支持的环境,可选入: chrome, edge, 也可以node:6.5 ,node:current......
   "targets": {
    "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
   }
  }],
  "stage-2"
 ],
 // babel-transform-plugin转码预设不起作用的内容如:Object.assign()等等
 "plugins": ["transform-runtime"]
}

presets能够解决哪些语法。 package

babel-plugin-transform-runtime能够解决哪些语法。 package

其他。 更多 

最后:babel看上去好像要配置很多,其实经过官方的一顿简化之后需要的并没有那么繁琐。

github

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 对象中的类数组操作
Apr 27 Javascript
jQeury淡入淡出需要注意的问题
Sep 08 Javascript
JavaScript插入动态样式实现代码
Feb 22 Javascript
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
Aug 22 Javascript
在JavaScript中操作数组之map()方法的使用
Jun 09 Javascript
使用CamanJS在Web页面上处理图像的技巧
Aug 18 Javascript
javascript中checkbox使用方法实例演示
Nov 19 Javascript
jquery ajax双击div可直接修改div中的内容
Mar 04 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
Jul 22 Javascript
javascript动画之模拟拖拽效果篇
Sep 26 Javascript
详解Vue中添加过渡效果
Mar 20 Javascript
详解vue 组件的实现原理
Nov 12 Javascript
webpack+vue2构建vue项目骨架的方法
Jan 09 #Javascript
webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)
Jan 09 #Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
Jan 09 #Javascript
Gulp实现静态网页模块化的方法详解
Jan 09 #Javascript
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
Jan 09 #Javascript
利用jqprint插件打印页面内容的实现方法
Jan 09 #Javascript
react-router v4如何使用history控制路由跳转详解
Jan 09 #Javascript
You might like
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
2014/08/19 PHP
PHP自毁程序(慎用)
2015/07/09 PHP
thinkPHP删除前弹出确认框的简单实现方法
2016/05/16 PHP
Laravel 5.3 学习笔记之 安装
2016/08/28 PHP
laravel 实现划分admin和home 模块分组
2019/10/15 PHP
为指定元素增加样式的js代码
2009/12/09 Javascript
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
2011/10/31 Javascript
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
JQUERY 设置SELECT选中项代码
2014/02/07 Javascript
js转化毫秒为时间格式代码
2014/04/10 Javascript
页面刷新时记住滚动条的位置jquery代码
2014/06/17 Javascript
javascript制作sql转换为stringBuffer的小工具
2015/04/03 Javascript
深入理解JS实现快速排序和去重
2016/10/17 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
2016/12/26 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
angularjs定时任务的设置与清除示例
2017/06/02 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
2017/07/17 jQuery
bootstrap实现二级下拉菜单效果
2017/11/23 Javascript
js设计模式之单例模式原理与用法详解
2019/08/15 Javascript
python k-近邻算法实例分享
2014/06/11 Python
Ubuntu下创建虚拟独立的Python环境全过程
2017/02/10 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
2018/07/27 Python
Python编程中flask的简介与简单使用
2018/12/28 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
2020/03/06 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
伊芙丽官方旗舰店:中国淑女一线品牌
2017/12/01 全球购物
Melissa鞋马来西亚官方网站:MDreams马来西亚
2018/04/05 全球购物
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
巴黎欧莱雅法国官网:L’Oreal Paris
2019/04/30 全球购物
伦敦新晋轻奢耳饰潮牌:Tada & Toy
2020/05/25 全球购物
天网面试题
2013/04/07 面试题
自荐信范文
2013/12/10 职场文书
2014年清明节网上祭英烈寄语
2014/04/09 职场文书
2014年感恩节活动策划方案
2014/10/06 职场文书
2015年药品销售工作总结范文
2015/05/25 职场文书