1、 Loader

  上一节我们讲了webpack的一些基本认识及概念,接下来我们继续探索webpack的 Loader,那么何为Loader?它的作用是什么?

  1. Webpack 本身只能处理 JavaScript 模块,如果要处理其他类型的文件,就需要使用 loader 进行转换。
  2. 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基础教程:(二)相关推荐

  1. webpack基础教程

    webpack基础教程 一 webpack五大核心 二 webpack处理css资源 三 webpack处理less.scss.sass.styl资源 四 webpack-module的详细配置 五 ...

  2. Directx11基础教程二之Directx11初始化

    一,看本节教程前应该掌握: (1)掌握  D3D11基础教程一之D3D11框架 二,程序的结构如下: 具体在VS2015的代码: 三,程序的具体代码如下: 好的,下面D3D11的初始化我分为十二个步骤 ...

  3. hadoop基础教程(二) MapReduce 单词统计

    1.这是hadoop基础系列教程,适合入门者学习. 2.MapReduce是一种分布式计算模型,解决海量数据问题,由两个阶段组成,map()和reduce().本文不讲解原理,下面实际操作利用MapR ...

  4. 麒麟子Javascript游戏编程零基础教程二:游戏程序员分工

    小伙子,能够走到这里,你已经不错了. 什么?你是妹子? 放心吧,入了这行,妹子也会被"汉化"的. 游戏程序员分工,以及对应的技能需求. 一.按大类划分 1.客户端程序员 负责处理客 ...

  5. Webpack入门教程二十九

    133.在模板中以内联的形式引用script脚本,修改webpack.config.js文件,代码如下 var htmlWebpackPlugin = require("html-webpa ...

  6. java二维数组省略_Java基础教程——二维数组

    二维数组 Java里的二维数组其实是数组的数组,即每个数组元素都是一个数组. 每个数组的长度不要求一致,但最好一致. // 同样有两种风格的定义方法 int[][] _arr21_推荐 = { { 1 ...

  7. Webpack入门教程二

    13.在根目录下创建webpack.config.js配置文件,配置文件内容如下 echo ... > webpack.config.js module.exports = {entry: __ ...

  8. 【UE5 Mass AI 基础教程二】代理移动

    紧接上文,我们开始让Agent动起来. 一.状态树 点击[鼠标右键->人工智能->StateTree],创建一个StateTree,命名为[ST_MassAI].修改Schema为Mass ...

  9. Android基础教程(二)之五大布局对象---FrameLayout,LinearLayout ,AbsoluteLayout,RelativeLayout,TableLayout.

    大家好,我们这一节讲一下Android对用五大布局对象,它们分别是FrameLayout(框架布局:不知道是不是这么翻译的),LinearLayout (线性布局),AbsoluteLayout(绝对 ...

最新文章

  1. python2基础教程廖雪峰云-Python基础
  2. Python-GUI PyQT5编程:QTdesigner设计工具及UI转换py文件
  3. 《MySQL——join语句优化tips》
  4. 从C#到Objective-C,循序渐进学习苹果开发(2)--Objective-C和C#的差异
  5. 三维重建:三维重建技术概述
  6. 阴阳师bug以及服务器维护问题,阴阳师业原火bug处理公告汇总
  7. 爬取斗鱼所有房间及直播源
  8. linux 忘记了密码,Linux忘记密码的解救方法
  9. g41 计算机主板维修,解决方法:G41主板BIOS设置方法
  10. Qt for android 移植android studio项目报错activity_main.xml:9: AAPT: error: attribute layout_constraintBott
  11. ABAP BDC代码
  12. 三维点云语义分割【综述】 ——Deep Learning for 3D Point Clouds: A Survey
  13. ArcEngine10 ecp 授权
  14. /tmp/ccAceHhY.o: In function `main': main.c:(.text+0xc7): undefined reference to `dlopen' main.c:
  15. AV1的五种编码进展
  16. jz2440:开发板的u-boot + 内核 + 根文件系统搭建(2)
  17. Argoverse--Motion Forecasting Dataset评价指标minADE/minFDE详细介绍
  18. mapbox pbf矢量瓦片读取(附pbf瓦片文件qt可视化工具源码)
  19. 机房收费系统(VB.NET)——超详细的报表制作过程
  20. 【深度强化学习】马尔可夫决策过程(Markov Decision Process, MDP)

热门文章

  1. 通过ssh访问git项目
  2. 如何卸载FileZilla的Ftp服务
  3. Java面试题:热情盛夏,分享Java大厂面试百题
  4. 开课吧-Java常见面试题:重载和重写的区别?
  5. 怎么在CAD编辑工具中绘制多边形线
  6. Java零基础学习(三)封装继承多态
  7. xxl_job springboot改造
  8. substring splice
  9. lintcode:Number of Islands 岛屿的个数
  10. MongoDB 聚合管道(Aggregation Pipeline)