webpack基础教程:(二)
1、 Loader
上一节我们讲了webpack的一些基本认识及概念,接下来我们继续探索webpack的 Loader,那么何为Loader?它的作用是什么?
- Webpack 本身只能处理 JavaScript 模块,如果要处理其他类型的文件,就需要使用 loader 进行转换。
- Loader 可以理解为是模块和资源的转换器,它本身是一个函数,接受源文件作为参数,返回转换的结果。这样,我们就可以通过
require
来加载任何类型的模块或文件,比如 CoffeeScript、 JSX、 LESS 或图片。
1.1 Loader的特性
- Loader 可以通过管道方式链式调用,每个 loader 可以把资源转换成任意格式并传递给下一个 loader ,但是最后一个 loader 必须返回 JavaScript。
- Loader 可以同步或异步执行。
- Loader 运行在 node.js 环境中,所以可以做任何可能的事情。
- Loader 可以接受参数,以此来传递配置项给 loader。
- Loader 可以通过文件扩展名(或正则表达式)绑定给不同类型的文件。
- Loader 可以通过
npm
发布和安装。 - 除了通过
package.json
的main
指定,通常的模块也可以导出一个 loader 来使用。 - Loader 可以访问配置。
- 插件可以让 loader 拥有更多特性。
- Loader 可以分发出附加的任意文件。
1.2 Loader 本身也是运行在 node.js 环境中的 JavaScript 模块,它通常会返回一个函数。
Loader 可以在 require()
引用模块的时候添加,也可以在 webpack 全局配置中进行绑定,还可以通过命令行的方式使用。
转载于:https://www.cnblogs.com/gao-xiong/p/6002475.html
webpack基础教程:(二)相关推荐
- webpack基础教程
webpack基础教程 一 webpack五大核心 二 webpack处理css资源 三 webpack处理less.scss.sass.styl资源 四 webpack-module的详细配置 五 ...
- Directx11基础教程二之Directx11初始化
一,看本节教程前应该掌握: (1)掌握 D3D11基础教程一之D3D11框架 二,程序的结构如下: 具体在VS2015的代码: 三,程序的具体代码如下: 好的,下面D3D11的初始化我分为十二个步骤 ...
- hadoop基础教程(二) MapReduce 单词统计
1.这是hadoop基础系列教程,适合入门者学习. 2.MapReduce是一种分布式计算模型,解决海量数据问题,由两个阶段组成,map()和reduce().本文不讲解原理,下面实际操作利用MapR ...
- 麒麟子Javascript游戏编程零基础教程二:游戏程序员分工
小伙子,能够走到这里,你已经不错了. 什么?你是妹子? 放心吧,入了这行,妹子也会被"汉化"的. 游戏程序员分工,以及对应的技能需求. 一.按大类划分 1.客户端程序员 负责处理客 ...
- Webpack入门教程二十九
133.在模板中以内联的形式引用script脚本,修改webpack.config.js文件,代码如下 var htmlWebpackPlugin = require("html-webpa ...
- java二维数组省略_Java基础教程——二维数组
二维数组 Java里的二维数组其实是数组的数组,即每个数组元素都是一个数组. 每个数组的长度不要求一致,但最好一致. // 同样有两种风格的定义方法 int[][] _arr21_推荐 = { { 1 ...
- Webpack入门教程二
13.在根目录下创建webpack.config.js配置文件,配置文件内容如下 echo ... > webpack.config.js module.exports = {entry: __ ...
- 【UE5 Mass AI 基础教程二】代理移动
紧接上文,我们开始让Agent动起来. 一.状态树 点击[鼠标右键->人工智能->StateTree],创建一个StateTree,命名为[ST_MassAI].修改Schema为Mass ...
- Android基础教程(二)之五大布局对象---FrameLayout,LinearLayout ,AbsoluteLayout,RelativeLayout,TableLayout.
大家好,我们这一节讲一下Android对用五大布局对象,它们分别是FrameLayout(框架布局:不知道是不是这么翻译的),LinearLayout (线性布局),AbsoluteLayout(绝对 ...
最新文章
- python2基础教程廖雪峰云-Python基础
- Python-GUI PyQT5编程:QTdesigner设计工具及UI转换py文件
- 《MySQL——join语句优化tips》
- 从C#到Objective-C,循序渐进学习苹果开发(2)--Objective-C和C#的差异
- 三维重建:三维重建技术概述
- 阴阳师bug以及服务器维护问题,阴阳师业原火bug处理公告汇总
- 爬取斗鱼所有房间及直播源
- linux 忘记了密码,Linux忘记密码的解救方法
- g41 计算机主板维修,解决方法:G41主板BIOS设置方法
- Qt for android 移植android studio项目报错activity_main.xml:9: AAPT: error: attribute layout_constraintBott
- ABAP BDC代码
- 三维点云语义分割【综述】 ——Deep Learning for 3D Point Clouds: A Survey
- ArcEngine10 ecp 授权
- /tmp/ccAceHhY.o: In function `main': main.c:(.text+0xc7): undefined reference to `dlopen' main.c:
- AV1的五种编码进展
- jz2440:开发板的u-boot + 内核 + 根文件系统搭建(2)
- Argoverse--Motion Forecasting Dataset评价指标minADE/minFDE详细介绍
- mapbox pbf矢量瓦片读取(附pbf瓦片文件qt可视化工具源码)
- 机房收费系统(VB.NET)——超详细的报表制作过程
- 【深度强化学习】马尔可夫决策过程(Markov Decision Process, MDP)