Webpack 之 babel-loader文件预处理器详解


Posted in Javascript onMarch 23, 2018

loader官方解释是文件预处理器,通俗点说就是webpack在处理静态文件的时候,需要使用 loader 来加载各种文件,比如: html文件需要使用html-loader ,css 需要使用css-loader 、 style-loader 等等。

今天我们来认识的是 babel-loader,用来处理ES6语法,将其编译为浏览器可以执行的js语法。

安装

我们需要用到 babel-loader babel-core babel-preset

配合版本: webpack 3.x | babel-loader 8.x | babel 7.x

npm install babel-loader@8.0.0-beta.0 @babel/core @babel/preset-env webpack
webpack 3.x babel-loader 7.x | babel 6.x

使用

先来上一个小栗子:

var htmlWebpackPlugin = require('html-webpack-plugin')

const path = require('path')
module.exports = {
  mode: 'development',
  entry: './src/app.js',
  output: {
    filename: 'js/bundle.js',
    path: path.resolve(__dirname, 'dist')
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /(node_modules|bower_components)/, // (不处理node_modules 和 bower_components下的js文件) 优化处理加快速度
        use: {
          loader: 'babel-loader',
          options: {     // options选项中的presets设置的就是当前js的版本
            presets: ['@babel/preset-env']
          }
        }
      }
    ]
  },
  plugins: [
    new htmlWebpackPlugin({
      template: 'index.html',
      inject: 'body',
      filename: 'index.html'
    })
  ]
}

可以使用 options 属性 来给 loader 传递选项。

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

Javascript 相关文章推荐
JS target与currentTarget区别说明
Aug 28 Javascript
js全选实现和判断是否有复选框选中的方法
Feb 17 Javascript
jquery实现漫天雪花飞舞的圣诞祝福雪花效果代码分享
Aug 20 Javascript
JavaScript多图片上传案例
Sep 28 Javascript
基于jquery实现轮播焦点图插件
Mar 31 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
May 15 Javascript
深入理解Angularjs中的$resource服务
Dec 31 Javascript
js 原生判断内容区域是否滚动到底部的实例代码
Nov 15 Javascript
vue中的模态对话框组件实现过程
May 01 Javascript
vue+express+jwt持久化登录的方法
Jun 14 Javascript
javascript实现切割轮播效果
Nov 28 Javascript
vue实现可以快进后退的跑马灯组件
Apr 08 Vue.js
Node.js实现注册邮箱激活功能的方法示例
Mar 23 #Javascript
Angular学习笔记之集成三方UI框架、控件的示例
Mar 23 #Javascript
Vue自定义过滤器格式化数字三位加一逗号实现代码
Mar 23 #Javascript
JavaScript 五大常见函数
Mar 23 #Javascript
JS中原始值和引用值的储存方式示例详解
Mar 23 #Javascript
剖析Angular Component的源码示例
Mar 23 #Javascript
vue利用axios来完成数据的交互
Mar 23 #Javascript
You might like
分页显示Oracle数据库记录的类之二
2006/10/09 PHP
Wordpress php 分页代码
2009/10/21 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
php+flash+jQuery多图片上传源码分享
2020/07/27 PHP
使用php自动备份数据库表的实现方法
2017/07/28 PHP
PHP设计模式之工厂模式实例总结
2017/09/01 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
提高jQuery性能的十个诀窍
2013/11/14 Javascript
JS获取各种浏览器窗口大小的方法
2014/01/14 Javascript
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
2015/03/12 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
2016/09/04 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
js代码实现下拉菜单【推荐】
2016/12/15 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
vue-router 起步步骤详解
2019/03/26 Javascript
小程序云开发如何实现图片上传及发表文字
2019/05/17 Javascript
详解js中let与var声明变量的区别
2020/04/05 Javascript
js刷新页面location.reload()用法详解
2019/12/09 Javascript
[02:16]2018年度CS GO最具人气选手-完美盛典
2018/12/16 DOTA
django实现支付宝支付实例讲解
2019/10/17 Python
Python 实现加密过的PDF文件转WORD格式
2020/02/04 Python
解决Jupyter无法导入已安装的 module问题
2020/04/17 Python
python能开发游戏吗
2020/06/11 Python
基于Keras中Conv1D和Conv2D的区别说明
2020/06/19 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
2020/09/16 Python
Champion澳大利亚官网:美国冠军运动服装
2018/05/07 全球购物
线程的基本概念、线程的基本状态以及状态之间的关系
2012/10/26 面试题
小学数学国培感言
2014/03/10 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
2015年基建工作总结范文
2015/05/23 职场文书
django 认证类配置实现
2021/11/11 Python