我们知道webpack的优点之一就是专注于处理模块化的项目,能做到开箱即用,但同时这也是webpack的缺点,只能用于模块化开发的项目,例如:Vue,React,Angular。Webpack在进行打包编译时会将所有依赖的模块合并到一个bundle.js中,但是Webpack不支持解析原生的CSS文件,要支持非JavaScript类型的文件,则需要使用Webpack的Loader机制。如下:

  

关于Loader的定义:

  Loader可以看做是具有文件转换功能的翻译员,我们在module.rules里配置了一组关于CSS转换规则,告诉Webpack再遇到CSS文件时该使用哪些Loader,同理,配置其他规则也一样,在上面CSS的配置规则中,我们告诉Webpack再遇到.css结尾的文件时,先试用css-loader读取CSS文件,再由style-loader将CSS的内容注入JavaScript里。在配置Loader是需要注意:

  1. use属性的值需要是一个由Loader名称组成的数组,Loader的执行顺序是由后到前;

  2. 每个Loader都可以通过 URL querystring 的方式传入参数,例如 css-loader?minimize中的minimize告诉css-loader要开启CSS压缩。

style-loader的作用:

   将css的内容用JavaScript里的字符串存储起来,在网页执行JavaScript时通过DOM操作动态地向 HTML head标签里插入 HTML style 标签.

最后我们再来看看关于Loader传入属性的两种方式

  1. 通过 URL querystring 的方式传入参数:

    eg: css-loader?minimize

  2.通过 Object 的方式 传入属性:

    eg:use:[

        ' style-laoder ',

        {

          loader:' css-loader ',

          options:{

            minimize:true

          }

        }

      ]

  

webpack之Loader的更多相关文章

  1. webpack之loader实践

    初识前端模板概念的开发者,通常都使用过underscore的template方法,非常简单好用,支持赋值,条件判断,循环等,基本可以满足我们的需求. 在使用Webpack搭建开发环境的时候,如果要使用 ...

  2. webpack之loader和plugin简介

    webpack之loader和plugin简介 webpack入门和实战(二):全面理解和运用loader和plugins webpack入门(四)——webpack loader 和plugin w ...

  3. Webpack 之 Loader 的使用

    安装 loaders 如果loader在npm里,可以这样安装: $ npm install xxx-loader --save 或者 $ npm install xxx-loader --save- ...

  4. webpack中loader和plugin的概念理解

    对于 loader ,它就是一个转换器,将A文件进行编译形成B文件,这里操作的是文件,比如将 A.scss 或 A.less 转变成 B.css,单纯的文件转换过程: 对于 plugin,它就是一个扩 ...

  5. webpack进阶--loader

    webpack的核心就是它的配置文件,只要配置好配置文件webpack就可以用得利索-- 而配置文件主要就是7个部分entry.output.plugins.resolve.devserver(web ...

  6. webpack css loader 使用

    备注:   接上面的项目 1. 添加css  main.css #app { text-align:center; } main.js require("./main.css"); ...

  7. webpack 之 loader

    loader简介 loader在webpack.config.js中进行配置,配置之后,会自动检测打包过程中引入的文件(import或require),通过test成功匹配被引入的文件名后,会对文件内 ...

  8. webpack的loader的原理和实现

    想要实现一个loader,需要首先了解loader的基本原理和用法. 1. 使用 loader是处理模块的解析器. module: { rules: [ { test: /\.css$/, use: ...

  9. webpack自定义loader并发布

    一.官网对loader的解释: 1.loader 是导出为一个函数的 node 模块.该函数在 loader 转换资源的时候调用.给定的函数将调用 loader API,并通过 this 上下文访问. ...

随机推荐

  1. python之面向对象的成员,方法,属性,异常处理

    一.类的私有成员 1. 类中的私有成员是什么? 私有:只有满足一部分条件的才能使用 私有类的属性 私有对象的属性 私有方法 正常状态 class B: school_name = '老男孩教育' de ...

  2. 关于STM32F103系列从大容量向中容量移植的若干问题

    一.把STM32F103大容量移植到STM32F103C8T6上的步骤: 1.换启动文件 startup_stm32f10x_cl.s           ——互联型的器件 包括:STM32F105x ...

  3. Error response from daemon: rpc error: code = AlreadyExists desc = name conflicts with an existing object: service myweb already exists

    主机环境 centos7.2 执行 docker service create --replicas 6 --name myweb -p 80:80 nginx:latest 时 报 Error re ...

  4. VMware pro 15.5安装教程

    一,安装 1.VMware pro 15.5 下载地址:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evalu ...

  5. 深度使用JSON.stringify()

    按照 JSON 的规范,使用 JSON.stringify() 做对象序列化时,如果一个属性为函数,那这个属性就会被忽略. const data1 = { a: 'aaa', fn: function ...

  6. 数据挖掘-K-近邻算法

    数据挖掘-K-近邻算法 目录 数据挖掘-K-近邻算法 1. K-近邻算法概述 1.1 K-近邻算法介绍 1.1.1 KNN算法作用 1.1.2 KNN 算法思想 1.1.3 KNN算法特点 1.2 K ...

  7. JVM类加载过程详细分析

    双亲委派加载模型 为什么需要双亲委派加载模型 主要是为了安全,避免用户恶意加载破坏JVM正常运行的字节码文件,比如说加载一个自己写的java.util.HashMap.class.这样就有可能造成包冲 ...

  8. .Net微服务实践(五)[服务发现]:Consul介绍和环境搭建

    目录 介绍 服务发现 健康检查.键值存储和数据中心 架构 Consul模式 环境安装 HTTP API 和Command CLI 示例API介绍 最后 在上篇.Net微服务实践(四)[网关]:Ocel ...

  9. ssh配置文件最佳实践(伪)

    时间:2019-09-11 说明:以下配置是基于常用安全设置,并增加阿里云要求的安全参数而成 版本:第一版 # 1.监听相关 ## 指定ssh端口 Port 1314 ## 只监听网络协议 Addre ...

  10. Java第三十三天,IO操作(续集),字符转换流

    计算机都是以二进制码格式存储文件的,但是在读写文件的过程中,每个应用程序都有自己的编码格式.FileWrite和FileRead类是通过查询系统默认码表进行读写的,因此在自己的系统上能够实现编码的智能 ...