为什么要使用第三方loader

一般引入样式文件,我们会在html中引入样式标签。



很明显,这样就跟之前在script中引入js文件一样,会导致二次请求。我们希望webpack像处理js文件一样处理样式文件。

如何引入样式

于是我们在入口文件,在main.js中通过import方式引入样式文件

如何配置css-loader

引入完成后,我们通过npm run dev运行项目会发现,webpack报错如下:



提示:没有合适的loader来解析这种类型的文件

注意:

  1. webpack默认只能打包处理js类型的文件,无法处理其他的非js类型的文件
  2. 如果要处理非js类型的文件,我们需要手动安装一些合适的第三方loader加载器

解决问题:

  1. 安装合适的loader来解析css样式文件,cnpm install style-loader css-loader -D
  2. 打开webpack..config.js文件,在里面新增一个配置节点,叫做module,它是一个对象,在这个module对象身上有个rules属性,这个rules属性是个数组;这个数组中存放了所有第三方文件的匹配和处理规则

注意:webpack处理第三方文件类型的过程

  1. 发现这个要处理的文件不是js文件,就会去配置文件中查找有没有对应的第三方loader规则
  2. 如果能找到对应的规则,就会调用对应的loader处理这种文件类型
  3. 在调用loader的时候,是从后往前调用的,所以style-loader要写在css-loader的前面
  4. 当最后的一个loader调用完毕,会把处理的结果,直接交给webpack进行打包合并,最终输出到bundle.js中去

保存所有文件,执行npm run dev即可看到样式已经被webpack打包更新。

如何配置less-loader

大致内容基本上同配置css-loader相同。

  1. 引入index.less样式

  2. 安装less-loader依赖cnpm install less-loader -D

  3. 安装完成之后,控制台警告,提示less依赖,安装less

  4. 安装依赖 cnpm install less -D

  5. 配置webpack.config.js文件中的moudle

  6. 保存所有文件,执行npm run dev即可看到样式已经被webpack打包更新。

如何配置scss-loader

大致内容基本上同配置less-loader相同。

  1. 引入index.scss样式

  2. 安装less-loader依赖cnpm install sass-loader -D
  3. 安装完成之后,控制台警告,提示node-sass依赖,虽然警告了三个,但是我只安装node-sass依然正常。

  4. 安装依赖 cnpm install node-sass -D
  5. 配置webpack.config.js文件中的moudle

  6. 保存所有文件,执行npm run dev即可看到样式已经被webpack打包更新。

(4)webpack中配置css,scss,less第三方loader的更多相关文章

  1. 在webpack中配置vue.js

    在webpack中配置vue.js 这里有两种在webpack中配置vue.js的方法,如下: 1.在main.js中引入vue的包: index.html: <!DOCTYPE html> ...

  2. webpack中配置eslint

    首先安装eslint npm install eslint --save-dev 安装好这个工具后,初始化eslint npx eslint --init 这个时候会自动生成.eslintrc.js ...

  3. Webpack干货系列 | 怎么运用 Webpack 5 处理css/scss/sass、less、stylus样式资源

    程序员优雅哥简介:十年程序员,呆过央企外企私企,做过前端后端架构.分享vue.Java等前后端技术和架构. 本文摘要:主要讲解webpack 5 如何高效处理CSS 资源.scss/sass 资源.l ...

  4. [转] webpack中配置Babel

    一.安装 npm install --save-dev babel-loader babel-core babel-preset-env 二.在webpack.config.js中配置module 1 ...

  5. webpack中配置Babel

    Babel是一个javascript编译器,可以将ES6和更新的js语法转换成ES5的,使代码在较老的浏览器里也能正常运行. 一.安装 npm install --save-dev babel-loa ...

  6. webpack中,css中打包背景图,路径报错

    css-loader: //打包样式中背景图 { test: /\.(png|jpg)$/, loader: "url-loader?limit=8192&name=images/[ ...

  7. 11 loader - 配置处理scss文件的loader

    1.装包 cnpm i sass-loader -D peerDependencies WARNING sass-loader@* requires a peer of node-sass@^4.0. ...

  8. vue项目,webpack中配置src路径别名及使用

    1.项目结构: 2.在build文件夹下的webpack.base.conf.js文件中设置src的路径别名. 3.在js文件或者vue文件的script标签中使用: (1).js文件中导入示例: ( ...

  9. Webstorm配置CSS/SCSS自动补全兼容前缀autoprefixer插件

    关于Autoprefixer Autoprefixer是一个后处理程序,不象Sass以及Stylus之类的预处理器.它适用于普通的CSS,可以实现css3代码自动补全.也可以轻松跟Sass,LESS及 ...

随机推荐

  1. fiddler修改请求参数

    1.打开fiddler ,点击界面左侧左侧底部 2.此图标为before request请求(修改请求参数时,设置这个,可以修改请求参数) 3..再次点击该按钮,将图标切换到下图after respo ...

  2. 【JMeter_01】JMeter介绍与环境搭建

    JMeter介绍 Apache JMeter™应用开源软件,100%纯Java应用程序,设计之初是用于负载功能测试和性能测试.但因它在实现对各种接口的调用方面比较成熟,因此,常被用做接口功能测试. J ...

  3. HTTP参数污染学习

    HTTP参数污染 --- HPP 参考: 参数污染漏洞(HPP)挖掘技巧及实战案例全汇总 视频内容 HPP,简而言之,就是给参数赋上多个值. 比如: https://www.baidu.com/s?w ...

  4. JAVA相关基础知识

    JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...

  5. SpringMVC 学习笔记(四)

    41. 尚硅谷_佟刚_SpringMVC_返回JSON.avi SpringMVC中使用@ResponseBody注解标注业务方法,将业务方法的返回值做成json输出给页面 导包: 除了一些sprin ...

  6. 尚学堂 216 java中的字节码操作

    所谓的字节码操作就是操作我们已经加载的字节码 接下来我们重点来讲解javaassist类库 使用需要下载jar包,把jar包添加到对应的工程之后 package com.bjsxt.test; pub ...

  7. disruptor架构四 多生产者多消费者执行

    1.首先介绍下那个时候使用RingBuffer,那个时候使用disruptor ringBuffer比较适合场景比较简单的业务,disruptor比较适合场景较为复杂的业务,很多复杂的结果必须使用di ...

  8. springBoot--集成RocketMQ

    1.导入依赖 <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>sprin ...

  9. Double值保留两位小数的四种方法

    public class DoubleTest { //保留两位小数第三位如果大于4会进一位(四舍五入) double f = 6.23556; /** *使用精确小数BigDecimal */ pu ...

  10. cat快速查找文件内指定信息

    cat log.txt | grep "ERROR" | more 查找 log.txt 文件内 包含 “ERROR”  的信息,分屏显示