详解webpack进阶之loader篇


Posted in Javascript onAugust 23, 2017

webpack的loaders是一大特色,也是很重要的一部分。这遍博客我将分类讲解一些常用的laoder

一、loaders之 预处理

  • css-loader 处理css中路径引用等问题
  • style-loader 动态把样式写入css
  • sass-loader scss编译器
  • less-loader less编译器
  • postcss-loader scss再处理

npm install --save -dev css-loader style-loader sass-loader less-loader postcss-loader

栗子:

module: {
 loaders: [
  {test: /\.css$/, loader: "style!css?sourceMap!postcss"},
  {test: /\.less$/, loader: "style!css!less|postcss"},
  {test: /\.scss$/, loader: "style!css!sass|postcss"}
 ]
}

二、loaders之 js处理

  • babel-loader
  • jsx-loader

npm install --save-dev babel-core babel-preset-es2015 babel-loader jsx-loader

栗子

新建一个名字为.babelrc的文件

{
 "presets": ["es2015","react"],
 "plugins":["antd"]
}

新建一个名字为webpack.config.js文件

module.exports ={
 entry: './entry.js',
 output: { path: __dirname,
 filename: 'bundle.js'
 },
 module: {
loaders: [
 {test: /\.js$/, loader: "babel", exclude: /node_modules/},
 {test: /\.jsx$/, loader: "jsx-loader"}
 {test: /.css$/, loader: 'style!css'} ]
 }
};

三、loaders之 图片处理

url-loader

npm install --save-dev url-loadr

module: {
 loaders: [
  {test: /\.(jpg|png)$/, loader: "url?limit=8192"},
 ]
}

四、loaders之 文件处理

file-loader

npm install --save-dev file-loader

module: {
 loaders: [
  {
   test: /\.(png|jpg|jpeg|gif|svg|woff|woff2|ttf|eot)$/,
   loader: 'file'
   },
 ]
}

五、loaders之 json处理

json-loader

npm install --save-dev json-loader

module: {
 loaders: [
  {test: /\.json$/,loader: 'json'},
 ]
}

六、loaders之 html处理

raw-loader

npm install --save-dev raw-loader

module: {
 loaders: [
  { test: /\.html$/,loader: 'raw'},
 ]
}

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

Javascript 相关文章推荐
Javascript 原型和继承(Prototypes and Inheritance)
Apr 01 Javascript
jQuery 源码分析笔记(6) jQuery.data
Jun 08 Javascript
jQuery实现区域打印功能代码详解
Jun 17 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
Jun 21 Javascript
JS本地刷新返回上一页代码
Jul 25 Javascript
jquery 抽奖小程序实现代码
Oct 12 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
Apr 22 Javascript
想用好React的你必须要知道的一些事情
Jul 24 Javascript
详解webpack import()动态加载模块踩坑
Jul 17 Javascript
微信小程序webSocket的使用方法
Feb 20 Javascript
聊聊vue 中的v-on参数问题
Jan 29 Vue.js
CocosCreator入门教程之网络通信
Apr 16 Javascript
Vue中定义全局变量与常量的各种方式详解
Aug 23 #Javascript
基于JavaScript实现带数据验证和复选框的表单提交
Aug 23 #Javascript
使用JS组件实现带ToolTip验证框的实例代码
Aug 23 #Javascript
利用Vue实现移动端图片轮播组件的方法实例
Aug 23 #Javascript
详解AngularJS跨页面传值(ui-router)
Aug 23 #Javascript
vue中页面跳转拦截器的实现方法
Aug 23 #Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
Aug 23 #jQuery
You might like
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
2019/09/10 PHP
yii框架数据库关联查询操作示例
2019/10/14 PHP
PHP7 新增功能
2021/03/09 PHP
由document.body和document.documentElement想到的
2009/04/13 Javascript
js tab效果的实现代码
2009/12/26 Javascript
javascript对数组的常用操作代码 数组方法总汇
2011/01/27 Javascript
JavaScript中的变量声明早于赋值分析
2012/03/01 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
2015/06/08 Javascript
jQuery实现图片左右滚动特效
2020/04/20 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
BootStrap智能表单demo示例详解
2016/06/13 Javascript
js图片轮播手动切换特效
2017/01/12 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
2017/03/29 Javascript
vue2.0移除或更改的一些东西(移除index key)
2017/08/28 Javascript
vue中选项卡点击切换且能滑动切换功能的实现代码
2018/11/25 Javascript
nvm、nrm、npm 安装和使用详解(小结)
2019/01/17 Javascript
[01:04:35]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第一场
2018/04/04 DOTA
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
2015/02/04 Python
Python中@property的理解和使用示例
2019/06/11 Python
决策树剪枝算法的python实现方法详解
2019/09/18 Python
tensorflow 变长序列存储实例
2020/01/20 Python
python设置环境变量的作用整理
2020/02/17 Python
Pandas时间序列基础详解(转换,索引,切片)
2020/02/26 Python
python 实现超级玛丽游戏
2020/11/25 Python
前端实现打印图像功能
2019/08/27 HTML / CSS
迪斯尼假期(欧洲、中东及非洲):Disney Holidays EMEA
2021/02/15 全球购物
矿泉水广告词
2014/03/20 职场文书
《充气雨衣》教学反思
2014/04/07 职场文书
服装设计专业毕业生求职信
2014/04/09 职场文书
2014年冬季防火方案
2014/05/21 职场文书
会计系毕业求职信
2014/08/07 职场文书
商务信函英语问候语
2015/11/10 职场文书
节约用水广告语60条
2019/11/14 职场文书
Spring Cloud Gateway去掉url前缀
2021/07/15 Java/Android
详细聊聊关于Mysql联合查询的那些事儿
2021/10/24 MySQL