首先亮出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的强大作用,分析下:
总结一句话: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中所用的参数请移步官网查询解决,谢谢查阅!以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍详解webpack之scss和postcss-loader的配置,包括了详解webpack之scss和postcss-loader的配置的使用技巧和注意事项,需要的朋友参考一下 本文介绍了详解webpack之scss和postcss-loader的配置,分享给大家,具体如下: 开始 首先配置postcss-loader 在这里postcss是为了来给浏览器内核添加私有前缀。当前pos
本文向大家介绍vue之nextTick全面解析,包括了vue之nextTick全面解析的使用技巧和注意事项,需要的朋友参考一下 简介 vue是非常流行的框架,他结合了angular和react的优点,从而形成了一个轻量级的易上手的具有双向数据绑定特性的mvvm框架。本人比较喜欢用之。在我们用vue时,我们经常用到一个方法是this.$nextTick,相信你也用过。我常用的场景是在进行获取数据后,
本文向大家介绍全面解析Android的开源图片框架Universal-Image-Loader,包括了全面解析Android的开源图片框架Universal-Image-Loader的使用技巧和注意事项,需要的朋友参考一下 相信大家平时做Android应用的时候,多少会接触到异步加载图片,或者加载大量图片的问题,而加载图片我们常常会遇到许多的问题,比如说图片的错乱,OOM等问题,对于新手来说,这些
本文向大家介绍详解webpack3编译兼容IE8的正确姿势,包括了详解webpack3编译兼容IE8的正确姿势的使用技巧和注意事项,需要的朋友参考一下 上一篇中的方法在 webpack 更新后,uglify 缓存地址也发生了变化,需要重新找地址。 后来测试发现不论是 uglify-js2 uglify-js3 都是支持 IE8 兼容处理的。 但在 webpack.optimize.UglifyJs
本文向大家介绍详解webpack3如何正确引用并使用jQuery库,包括了详解webpack3如何正确引用并使用jQuery库的使用技巧和注意事项,需要的朋友参考一下 经过百度、谷歌、SF、stackoverflow后终于将webpack3引用jQuery的问题解决了,网上的重复文章太多,大多也都过时了,webpack这两年发展也非常快,大多都是1.0版本的文章,与时俱进的很少,刚刚看了一眼现在已
本文向大家介绍详解webpack4升级指南以及从webpack3.x迁移,包括了详解webpack4升级指南以及从webpack3.x迁移的使用技巧和注意事项,需要的朋友参考一下 几天前webpack发布了新版本v4.0.0,其中做了很多改动,包括0配置以及移除了CommonsChunkPlugin等。由此而来的还有之前webpack3.x的项目如何迁移到新的webpack版本,本文就一个新的vu
Webpack 本身只能处理 JavaScript 模块,如果要处理其他类型的文件,就需要使用 loader 进行转换。 Loader 可以理解为是模块和资源的转换器,它本身是一个函数,接受源文件作为参数,返回转换的结果。这样,我们就可以通过 require 来加载任何类型的模块或文件,比如 CoffeeScript、 JSX、 LESS 或图片。 先来看看 loader 有哪些特性? Loade
功能 资源加载器。由于兼容性问题,目前只支持图片:jpg,gif,png等图片格式 author leeenx version 1.0.0 data: 2015-12-07 Official Usage $.loader( { source:[], onchange:function(percent){ console.log(percent); },