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 相关文章推荐
XMLHTTPRequest的属性和方法简介
Nov 23 Javascript
js日期对象兼容性的处理方法
Jan 28 Javascript
简单的JavaScript互斥锁分享
Feb 02 Javascript
JQuery教学之性能优化
May 14 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
Dec 24 Javascript
学习javascript面向对象 理解javascript原型和原型链
Jan 04 Javascript
javascript使用 concat 方法对数组进行合并的方法
Sep 08 Javascript
jQuery中fadein与fadeout方法用法示例
Sep 16 Javascript
JavaScript数组去重的6个方法
Jan 21 Javascript
jquery.validate.js 多个相同name的处理方式
Jul 10 jQuery
详解vue-router传参的两种方式
Sep 10 Javascript
小程序登录态管理的方法示例
Nov 13 Javascript
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
在PHP的图形函数中显示汉字
2006/10/09 PHP
php获取$_POST同名参数数组的实现介绍
2013/06/30 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
php常用hash加密函数
2014/11/22 PHP
Laravel 5框架学习之向视图传送数据
2015/04/08 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
jQuery根据纬度经度查看地图处理程序
2013/05/08 Javascript
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
js 获取页面高度和宽度兼容 ie firefox chrome等
2014/05/14 Javascript
JS实现简单的二维矩阵乘积运算
2016/01/26 Javascript
js调用webservice构造SOAP进行身份验证
2016/04/27 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
Bootstrap免费字体和图标网站(值得收藏)
2017/03/16 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
2019/05/01 Javascript
vue+koa2实现session、token登陆状态验证的示例
2019/08/30 Javascript
jquery实现的放大镜效果示例
2020/02/24 jQuery
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
[04:37]DOTA2英雄梦之声Vol20发条
2014/06/20 DOTA
Python队列的定义与使用方法示例
2017/06/24 Python
Python设计模式之模板方法模式实例详解
2019/01/17 Python
python判断无向图环是否存在的示例
2019/11/22 Python
基于python调用psutil模块过程解析
2019/12/20 Python
PyTorch-GPU加速实例
2020/06/23 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
Python第三方库安装缓慢的解决方法
2021/02/06 Python
python+opencv实现车道线检测
2021/02/19 Python
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
优秀教师主要事迹
2014/02/01 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
MySQL中varchar和char类型的区别
2021/11/17 MySQL
Nginx 常用配置
2022/05/15 Servers