一.什么是Loader

WebPack默认只“认识”以*.js结尾的文件,如果想处理其他类型的文件,就必须添加Loader,有各种各样的Loader,每个Loader可处理不同类型的文件,每当用WebPack打包时遇到不认识的文件(通过后缀名辨别),如果添加了相应的Loader,就会调用指定的Loader去处理,处理完之后,如果没有后继的Loader去处理这类文件,就会返回给调用端,也就是WebPack,WebPack继续处理,直到处理完成。

二.各种各样的Loader

1.style-loader和css-loader

我们在./src/目录下新建一个index.css文件

body{

background-color: red;

}

然后在index.js文件中添加如下操作

import "./index.css"

执行

npm run build

会产生以下输出结果

ERROR in ./src/index.css 1:4

Module parse failed: Unexpected token (1:4)

You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders

> body{

|     background-color: #ddd;

| }
  @ ./src/index.js 1:0-20

我们安装css-loader和style-loader

在webpack.config.js配置文件中添加Loader

const path = require("path");

module.exports = {

entry: "./src/index.js",

output: {

filename: "bundle.js",

path: path.resolve(__dirname, "dist")

},

module: {

rules: [

{

test: /.css$/, //匹配规则,匹配就使用一下Loader去处理

use: [ "style-loader","css-loader",] //这里要注意顺序,Loader加载顺序规定为从右到左

}

]

}

};

注意,css-loader负责读取css文件以及解释import和require()语句,style-loader负责产生<style></style>标记并把样式字符串插入到该标记中。

我们再次打包

npm run build

然后运行可以发现页面背景变红了

可以看到插入了一个style标签。

2.file-loader

安装

npm install file-loader –save-dev

添加图片资源

const path = require("path");

module.exports = {

entry: "./src/index.js",

output: {

filename: "bundle.js",

path: path.resolve(__dirname, "dist")

},

module: {

rules: [

{

test: /.css$/,

use: [ "style-loader","css-loader",]

},

{

test: /.(png|svg|jpg|gif)$/,

use: [ "file-loader"]

}

]

}

};

在index.css文件中添加如下代码

body{

background-color: red;

background-image: url(./yasuo.jpg);

}

由于产生的文件是一个相对路径(相对于输出目录),所以把index.html放到./dist目录下,并修改bundle.js引用的路径,运行

npm run build

效果如下:

运行页面

添加其他资源也是如此。

4.WebPack-Loader的更多相关文章

  1. 怎样写一个webpack loader

    div{display:table-cell;vertical-align:middle}#crayon-theme-info .content *{float:left}#crayon-theme- ...

  2. 如何开发webpack loader

    关于webpack 作为近段时间风头正盛的打包工具,webpack基本占领了前端圈.相信你都不好意思说不知道webpack. 有兴趣的同学可以参考下我很早之前的webpack简介 . 确实webpac ...

  3. 手把手教你撸一个 Webpack Loader

    文:小 boy(沪江网校Web前端工程师) 本文原创,转载请注明作者及出处 经常逛 webpack 官网的同学应该会很眼熟上面的图.正如它宣传的一样,webpack 能把左侧各种类型的文件(webpa ...

  4. 案例实战之如何写一个webpack loader

    通过以下几个实例掌握webpack loader的写法 1.写一个多语言替换的loader 在index.js在页面上插入了一个{{title}}文本,我们需要在打包的时候将其替换成对应的多语言 fu ...

  5. 发布一个npm包(webpack loader)

    发布一个npm包,webpack loader: reverse-color-loader,实现颜色反转. 初始化项目 mkdir reverse-color-loader cd ./reverse- ...

  6. webpack loader & pulgin

    webpack loader & plugin https://webpack.js.org/concepts/loaders/ https://webpack.js.org/concepts ...

  7. webpack loader加载器

    配置loader,通过加载器处理文件,例如css sass less等,告诉webpack每一种文件都需要使用什么来加载器来处理. 1.node.js安装好之后也会自动默认安装好npm,所以cmd c ...

  8. [webpack]——loader配置

    前言 当我们需要配置 loader 时,都是在 module.rules 中添加新的配置项,在该字段中,每一项被视为一条匹配使用 loader 的规则. 看一下基础实例: module.exports ...

  9. 使用webpack loader加载器

    了解webpack请移步webpack初识! 什么是loader loaders 用于转换应用程序的资源文件,他们是运行在nodejs下的函数 使用参数来获取一个资源的来源并且返回一个新的来源(资源的 ...

  10. webpack loader 生成虚拟文件的方案

    此文已由作者张磊授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 前言 使用 webpack 的时候,难免需要写一些 loader,接着就会遇到一个很纠结的问题.该 loade ...

随机推荐

  1. Spring MVC基于注解@Controller和@RequestMapping开发的一个例子

    1.创建web项目 2.在springmvc的配置文件中指定注解驱动,配置扫描器 在 Spring MVC 中使用扫描机制找到应用中所有基于注解的控制器类,所以,为了让控制器类被 Spring MVC ...

  2. react中路由不起作用的奇怪现象

    同样的两段Router代码,为什么一段正常,一段不起作用(也没有任何错误log提示) 瞪着眼观察也看不出为什么... 通过选中高亮显示内容相同, 为何就是有一段路由不管用呢? 折腾半天发现... 大小 ...

  3. JVM调优总结(四)-分代垃圾回收详述

    为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的.因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率. 在Java程序运行的过程中,会产生大量的对象, ...

  4. linux:基本指令

    指令标准格式 指令主体 [选项][操作对象] 基础指令 ls 1.ls 列出当前工作目录下的所有文件/文件夹的名称 2.ls  路径 列出指定路径下的所有文件/文件夹的名称 路径: 1.相对路径 会用 ...

  5. PowerPC-MPC56xx Flash模式代码启动过程

    https://mp.weixin.qq.com/s/iruM5VwKgnH_7nmIQxO0-g   参考第5章   In order for the e200z4d core to be able ...

  6. 我眼中的华为公有云AI平台--ModelArts

    前言 AWS Sagemaker has been a great deal for most data scientists who would want to accomplish a truly ...

  7. SSM 的 基本原理与面试相关

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.MyBatis 1.Mybatis出现最多的问题是什么? 问题: 在XML配置文件中语句的书写与对象 ...

  8. Java实现 LeetCode 763 划分字母区间(暴力)

    763. 划分字母区间 字符串 S 由小写字母组成.我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段.返回一个表示每个字符串片段的长度的列表. 示例 1: 输入: S = & ...

  9. Java实现 LeetCode 81 搜索旋转排序数组 II(二)

    81. 搜索旋转排序数组 II 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] ). 编写一个函数来判 ...

  10. java实现第七届蓝桥杯反幻方

    反幻方 题目描述 我国古籍很早就记载着 2 9 4 7 5 3 6 1 8 这是一个三阶幻方.每行每列以及对角线上的数字相加都相等. 下面考虑一个相反的问题. 可不可以用 1~9 的数字填入九宫格. ...