详解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 相关文章推荐
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
Aug 21 Javascript
jquery利用ajax调用后台方法实例
Aug 23 Javascript
Javascript字符串对象的常用方法简明版
Jun 26 Javascript
js实现宇宙星空背景效果的方法
Mar 03 Javascript
纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
Sep 12 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
Dec 26 Javascript
js实现获取两个日期之间所有日期的方法
Jun 17 Javascript
jQuery中ScrollTo用法示例
Sep 04 Javascript
Webpack打包css后z-index被重新计算的解决方法
Jun 18 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
Dec 28 Javascript
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
Oct 12 Javascript
微信小程序class封装http代码实例
Aug 24 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
长波知识介绍
2021/03/01 无线电
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
PHP中Laravel 关联查询返回错误id的解决方法
2017/04/01 PHP
Laravel中任务调度console使用方法小结
2017/05/07 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
javascript重写alert方法的实例代码
2013/03/29 Javascript
js单例模式的两种方案
2013/10/22 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
2014/06/26 Javascript
js事件绑定快捷键以ctrl+k为例
2014/09/30 Javascript
javascript递归回溯法解八皇后问题
2015/04/22 Javascript
整理AngularJS中的一些常用指令
2015/06/16 Javascript
CSS+jQuery实现简单的折叠菜单
2016/12/20 Javascript
基于Vue的延迟加载插件vue-view-lazy
2018/05/21 Javascript
解析vue data不可以使用箭头函数问题
2018/07/03 Javascript
详解如何在vue-cli中使用vuex
2018/08/07 Javascript
vue中导出Excel表格的实现代码
2018/10/18 Javascript
vue图片上传本地预览组件使用详解
2019/02/20 Javascript
Vue.js路由实现选项卡简单实例
2019/07/24 Javascript
vue自动添加浏览器兼容前后缀操作
2020/08/13 Javascript
vue打开新窗口并实现传参的图文实例
2021/03/04 Vue.js
python局域网ip扫描示例分享
2014/04/03 Python
Python开发的单词频率统计工具wordsworth使用方法
2014/06/25 Python
python实现class对象转换成json/字典的方法
2016/03/11 Python
python记录程序运行时间的三种方法
2017/07/14 Python
python遍历文件夹下所有excel文件
2018/01/03 Python
Python输出各行命令详解
2018/02/01 Python
对python中使用requests模块参数编码的不同处理方法
2018/05/18 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
2019/04/10 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
浅谈tensorflow 中的图片读取和裁剪方式
2020/06/30 Python
《圆明园的毁灭》教学反思
2014/02/28 职场文书
团代会宣传工作方案
2014/05/08 职场文书
工作汇报材料难写?方法都在这里了!
2019/07/01 职场文书
MySQL官方导出工具mysqlpump的使用
2021/05/21 MySQL