当前位置:首页 > 日记 > 正文

webpack3之loader全解析

webpack3之loader全解析

首先亮出webpack官方网站,webpack能干什么?官网给出的答案就是,一句话,让一切变得简单!

各式各样的loader层出不穷,让我们在构建时不知所措,于此,总结下loader的全解析。

概念

loader,顾名思义,加载器,英文的解释如下:

Loaders are transformations that are applied on the source code of a module. They allow you to pre-process files as you import or “load” them. Thus, loaders are kind of like “tasks” in other build tools, and provide a powerful way to handle front-end build steps. Loaders can transform files from a different language (like TypeScript) to JavaScript, or inline images as data URLs. Loaders even allow you to do things like import CSS files directly from your JavaScript modules!

中文翻译过来就是:

loader 用于对模块的源代码进行转换。loader 可以使你在 import 或“加载”模块时预处理文件。因此,loader 类似于其他构建工具中“任务(task)”,并提供了处理前端构建步骤的强大方法。loader 可以将文件从不同的语言(如 TypeScript)转换为 JavaScript,或将内联图像转换为 data URL。loader 甚至允许你直接在 JavaScript 模块中 import CSS文件!

从中,可以看出loader的强大作用,分析下:

  1. 转换的作用。开发所用到的都转换成网页加载所必备的html+css+js+img等要求格式的文件。
  2. 转换对象是源代码。loader只对源代码转换,至于其他的功能,plugins就来接收它做不到的地方。

总结一句话:loader, 加载的机器,形象的比喻下,就像一个豆浆机,放上你的原料,它就开始认真的工作了!

常用的loader

1、babel-loader

This package allows transpiling JavaScript files using Babel and webpack.

加载 ES2015+ 代码,然后使用 Babel 转译为 ES5

安装:

npm install --save-dev babel-loader babel-core babel-preset-env webpack 

使用:

{ test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader'}

2、style-loader

Adds CSS to the DOM by injecting a <style> tag

将模块的导出作为样式添加到 DOM 中

安装:

npm install style-loader --save-dev 

建议要与css-loader一起使用

使用:

{ test: /\.css$/, use: [ 'style-loader', 'css-loader']}

3、css-loader

解析 CSS 文件后,使用 import 加载,并且返回 CSS 代码

安装:

npm install css-loader --save-dev 

使用:

{ test: /\.css$/, use: [ 'style-loader', 'css-loader' ]}

4、less-loader

加载和转译 LESS 文件

安装:

npm install --save-dev less-loader less 

使用:

{ test: /\.less$/, exclude: /node_modules/, use: ExtractTextPlugin.extract(['css-loader', 'less-loader'])}

5、url-loader

Loads files as base64 encoded URL

处理图片类文件,但如果文件小于限制,可以返回 data URL

安装:

npm install --save-dev url-loader 

使用:

{ test: /\.(jpg|jpeg|png|gif)$/, loader: 'url-loader', options: {   limit: 8192 }}

6、file-loader

Instructs webpack to emit the required object as file and to return its public URL

处理font/svg等,将文件发送到输出文件夹,并返回(相对)URL

安装:

npm install file-loader --save-dev 

使用:

{ test: /\.(woff|woff2|svg|eot|ttf)$/, use: 'file-loader'}

7、vue-loader

加载和转译 Vue 组件

安装:

npm install --save-dev vue-loader vue vue-template-compiler 

使用:

{ test: /\.vue$/, loader: 'vue-loader', options: {   loaders: {     less: ExtractTextPlugin.extract({       use: ['css-loader', 'less-loader'],       fallback: 'vue-style-loader'     })   } }}

至此,有关loader中所用的参数请移步官网查询解决,谢谢查阅!以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

相关文章

QQ空间打不开的解决方法有哪些

QQ空间打不开的解决方法有哪些

解决方法,空间,打不开,有哪些,电脑软件,  QQ空间是腾讯公司出品的个性空间,用户群很广,很多网友在使用时会遇到QQ空间打不开的问题,qq空间进不去是什么原因?怎么解决?下面小编就为大家介绍一下QQ空间打不开的解决方法,一起来看看吧!QQ空间…

Excel表格中怎么突出凸显查询到的

Excel表格中怎么突出凸显查询到的

查询,数据,表格,电脑软件,行数,  凸显查询到的数据行,用好可以达到防止串行的作用。特别对于Excel数据源非常多,核对的时候容易看错行,看花眼的时候拿出来应对一下。以下是小编为您带来的关于Excel突出凸显查询到的数据行,希望对您有所帮助。…

JS高仿抛物线加入购物车特效实现代

JS高仿抛物线加入购物车特效实现代

抛物线,购物车,特效,代码,电脑软件,1. 简介要想让你的购物车有种高大上的感觉,加入特效的功能是必不可少的。2. 实现思路 设置一些简单的样式 模拟把它添加到购物车中,数量增加 从点击的位置开始动画,结束动画 3. 代码实现CSS代码咱们给它…

Bootstrap Table 删除和批量删除

Bootstrap Table 删除和批量删除

批量删除,删除,电脑软件,Bootstrap,Table,一条记录可以看做一条数据的数组1 Html1.1 批量选择框1.2 单个删除2 bootStarp2.1 批量获得获得选择的数据//批量删除 function deleteUserList() { //获取所有被选中的记录 var …

[js高手之路]寄生组合式继承的优势

[js高手之路]寄生组合式继承的优势

继承,之路,详解,组合式,优势,在之前javascript面向对象系列的文章里面,我们已经探讨了组合继承和寄生继承,回顾下组合继承:function Person( uName ){ this.skills = [ 'php', 'javascript' ]; this.userName = uName; } …

word2016文档如何能够批量保存

word2016文档如何能够批量保存

文档,保存图片,批量,电脑软件,  word中有很多图片,一个一个的保存下来很费时间,那么word2016怎么批量保存图片。以下是小编为您带来的关于word2016文档批量保存图片,希望对您有所帮助。word2016文档批量保存图片打开word文档之后,点击命令栏…

PS中隐藏的小技巧:移动和缩放的使

PS中隐藏的小技巧:移动和缩放的使

缩放,小技巧,使用技巧,详解,电脑软件,设计师的每一天基本都在和PS打交道,然而你真正了解过PS中隐藏的小技巧吗?总有你不知道一些小技巧,这些技巧可极大的提升你的工作效率,下面一起来学习吧。适用对象:童叟无欺、老少皆宜有任何疑问,可留言交流1…

powerpoint幻灯片无法全屏播放怎么

powerpoint幻灯片无法全屏播放怎么

全屏,方法,幻灯片,电脑软件,powerpoint,  我们在使用ppt的时候,偶尔会出现不能全屏放映的问题,对于这样的问题,我们应该如何解决呢?下面就让小编告诉你如何解决ppt不能全屏放映问题,希望小编收集的资料对大家有帮助?解决ppt不能全屏放映问题…

React-Native 组件之 Modal的使用

React-Native 组件之 Modal的使用

组件,详解,电脑软件,React,Native,Modal组件可以用来覆盖包含React Native根视图的原生视图(如UIViewController,Activity),用它可以实现遮罩的效果。属性Modal提供的属性有:animationType(动画类型) PropTypes.oneOf([‘none', ‘slide', ‘fad…

PS怎么使用滤镜给制作油画效果?

PS怎么使用滤镜给制作油画效果?

滤镜,效果,电脑软件,PS,在使用图像处理软件Photoshop时,新学者有时制作一张油画效果的图片。那么,PS中如何对图片如何制作出油画效果?作为制作出油画效果操作实例,这里用一张卡通风景的图片进行油画效果的制作。参考以下几个步骤。就很快可以在…

wps中怎么取消只读模式教程

wps中怎么取消只读模式教程

只读,取消,模式,教程,方法,  我们都知道可以在wps文字中设置文档为只读模式,如果我们想取消只读模式,应该怎样取消呢?对于新手来说还是有一定难度,怎么办?下面就让小编告诉你在wps文字中怎样取消只读模式的方法,希望对大家有所帮助。wps取消…

CDR怎么设计中国风的水墨字体效果?

CDR怎么设计中国风的水墨字体效果?

字体,国风,水墨,效果,电脑软件,想要设计中国风海报,那么水墨字体是必不可少的,该怎么制作水墨字体效果呢?请看下文详细介绍。软件名称:CorelDRAW X8 64位 简体中文安装免费版(附序列号)软件大小:547.9MB更新时间:2016-11-23步骤1:使用&ldquo;文本…