(4)webpack中配置css,scss,less第三方loader
为什么要使用第三方loader
一般引入样式文件,我们会在html中引入样式标签。
很明显,这样就跟之前在script中引入js文件一样,会导致二次请求。我们希望webpack像处理js文件一样处理样式文件。
如何引入样式
于是我们在入口文件,在main.js中通过import方式引入样式文件。
如何配置css-loader
引入完成后,我们通过npm run dev
运行项目会发现,webpack报错如下:
提示:没有合适的loader来解析这种类型的文件
注意:
- webpack默认只能打包处理js类型的文件,无法处理其他的非js类型的文件
- 如果要处理非js类型的文件,我们需要手动安装一些合适的第三方loader加载器
解决问题:
- 安装合适的loader来解析css样式文件,
cnpm install style-loader css-loader -D
- 打开webpack..config.js文件,在里面新增一个配置节点,叫做module,它是一个对象,在这个module对象身上有个rules属性,这个rules属性是个数组;这个数组中存放了所有第三方文件的匹配和处理规则
注意:webpack处理第三方文件类型的过程
- 发现这个要处理的文件不是js文件,就会去配置文件中查找有没有对应的第三方loader规则
- 如果能找到对应的规则,就会调用对应的loader处理这种文件类型
- 在调用loader的时候,是从后往前调用的,所以style-loader要写在css-loader的前面
- 当最后的一个loader调用完毕,会把处理的结果,直接交给webpack进行打包合并,最终输出到bundle.js中去
保存所有文件,执行npm run dev
即可看到样式已经被webpack打包更新。
如何配置less-loader
大致内容基本上同配置css-loader相同。
引入index.less样式
安装less-loader依赖
cnpm install less-loader -D
安装完成之后,控制台警告,提示less依赖,安装less
安装依赖
cnpm install less -D
配置webpack.config.js文件中的moudle
保存所有文件,执行
npm run dev
即可看到样式已经被webpack打包更新。
如何配置scss-loader
大致内容基本上同配置less-loader相同。
- 引入index.scss样式
- 安装less-loader依赖
cnpm install sass-loader -D
- 安装完成之后,控制台警告,提示node-sass依赖,虽然警告了三个,但是我只安装node-sass依然正常。
- 安装依赖
cnpm install node-sass -D
- 配置webpack.config.js文件中的moudle
- 保存所有文件,执行
npm run dev
即可看到样式已经被webpack打包更新。
(4)webpack中配置css,scss,less第三方loader的更多相关文章
- 在webpack中配置vue.js
在webpack中配置vue.js 这里有两种在webpack中配置vue.js的方法,如下: 1.在main.js中引入vue的包: index.html: <!DOCTYPE html> ...
- webpack中配置eslint
首先安装eslint npm install eslint --save-dev 安装好这个工具后,初始化eslint npx eslint --init 这个时候会自动生成.eslintrc.js ...
- Webpack干货系列 | 怎么运用 Webpack 5 处理css/scss/sass、less、stylus样式资源
程序员优雅哥简介:十年程序员,呆过央企外企私企,做过前端后端架构.分享vue.Java等前后端技术和架构. 本文摘要:主要讲解webpack 5 如何高效处理CSS 资源.scss/sass 资源.l ...
- [转] webpack中配置Babel
一.安装 npm install --save-dev babel-loader babel-core babel-preset-env 二.在webpack.config.js中配置module 1 ...
- webpack中配置Babel
Babel是一个javascript编译器,可以将ES6和更新的js语法转换成ES5的,使代码在较老的浏览器里也能正常运行. 一.安装 npm install --save-dev babel-loa ...
- webpack中,css中打包背景图,路径报错
css-loader: //打包样式中背景图 { test: /\.(png|jpg)$/, loader: "url-loader?limit=8192&name=images/[ ...
- 11 loader - 配置处理scss文件的loader
1.装包 cnpm i sass-loader -D peerDependencies WARNING sass-loader@* requires a peer of node-sass@^4.0. ...
- vue项目,webpack中配置src路径别名及使用
1.项目结构: 2.在build文件夹下的webpack.base.conf.js文件中设置src的路径别名. 3.在js文件或者vue文件的script标签中使用: (1).js文件中导入示例: ( ...
- Webstorm配置CSS/SCSS自动补全兼容前缀autoprefixer插件
关于Autoprefixer Autoprefixer是一个后处理程序,不象Sass以及Stylus之类的预处理器.它适用于普通的CSS,可以实现css3代码自动补全.也可以轻松跟Sass,LESS及 ...
随机推荐
- 一个简单的Shell脚本(解决windows上文本在macos上乱码问题)
之所以有这一篇文章,是因为之前我写过的一篇文章:“解决Mac上打开txt文件乱码问题”:传送门: https://www.cnblogs.com/chester-cs/p/11784079.html ...
- CPU明明8个核,网卡为啥拼命折腾一号核?
中断机制 我是CPU一号车间的阿Q,我又来了! 我们日常的工作就是不断执行代码指令,不过这看似简单的工作背后其实也并不轻松. 咱不能闷着头啥也不管一个劲的只管执行代码,还得和连接在主板上的其他单位打交 ...
- 他被称为"中国第一程序员",微软得不到他曾想毁了他,如今拜入武当修道
GitHub 15.4k Star 的Java工程师成神之路,不来了解一下吗! GitHub 15.4k Star 的Java工程师成神之路,真的不来了解一下吗! GitHub 15.4k Star ...
- drf之序列化组件(一):Serializer
序列化组件:Serializer.ModelSerializer.ListModelSerializer Serializer 偏底层 ModelSerializer 重点 List ...
- 关于word2vec的一些问题
CBOW v.s. skip-gram CBOW 上下文预测中心词,出现次数少的词会被平滑,对出现频繁的词有更高的准确率 skip-gram 中心词预测上下文,训练次数比CBOW多,表示罕见词更好 例 ...
- Linux Systemd 详细介绍: Unit、Unit File、Systemctl、Target
Systemd 简介 CentOS 7 使用 Systemd 替换了SysV Ubuntu 从 15.04 开始使用 Systemd Systemd 是 Linux 系统工具,用来启动守护进程,已成为 ...
- linux 上设置mysql开机自启
此方式是通过安装包安装的,如果是yum安装的rpm包,可参考yum安装MySQL8.0 三个月之前安装的mysql,记得是设置了开机自启,但是今天再次进入的时候发现,无法登录,报错如下 原因是mysq ...
- java 中的线程池
1.实现下面的一个需求,控制一个执行函数只能被五个线程访问 package www.weiyuan.test; public class Test { public static void main( ...
- DataFrame索引和切片
import numpy as np import pandas as pd from pandas import DataFrame, Seriesdf = DataFrame(data=np.ra ...
- 宝贝,来,满足你,二哥告诉你学 Java 应该买什么书?
(这次的标题是不是有点皮,对模仿好朋友 guide 哥的,我也要皮一皮) 高尔基说过,对吧?宝贝们,"书籍是人类进步的阶梯",不管学什么,买几本心仪的书读一读,帮助还是非常大的.尽 ...