使用Loader打包静态资源---样式(上)

使用Loader打包静态资源—样式(上)

写网页的时候我们,我们肯定会再项目中写CSS样式,我们先建一个index.css文件,放在src目录下,
在这里插入图片描述
并在index.js中导入,并给图片添加样式
在这里插入图片描述

此时我们运行npm run bundle打包命令,控制台报错
在这里插入图片描述
你需要一个合适的加载器来处理这个文件

很明显,我们需要css-loader来处理这个文件,先进行安装

cnpm install css-loader --save-dev

安装完成之后,对 wepack.config.js文件进行配置
在这里插入图片描述
配置完成之后,再次运行 npm run bundle 命令打包
在这里插入图片描述
打包成功,点开bundle下面的index.html文件查看内容,发现图片样式没有发生变化,而且控制台也不报错。审查元素发现图片上确实有一个 class="avatar" 的类名,但是样式没有生效
在这里插入图片描述
因为css-loader只负责解释导入css样式文件,导入 后再解析(resolve)它们。而要将解析后的css文件注入dom,我们还需要使用style-loader。安装style-loaer,并在 webpack.config.js 中配置

cnpm install style-loader --save-dev

在这里插入图片描述
注意:这里的loader的顺序不能错,webpack是从下到上,从右到左执行,先用css-loader解释css样式文件,再用style-loader注入dom
再执行一次打包命令,我们的图片样式就成功的出来了
在这里插入图片描述

使用loader处理scss,less等文件

但是写过vue框架的同学一般的习惯使用sass,less这种css预处理器,对于这种文件我们又是如何打包的呢?新建一个index.scss文件
在这里插入图片描述
然后将index.js中的引用换成index.scss,执行打包命令报错
在这里插入图片描述
还是原来的配方,还是原道的味道,你需要一个合适的处理器

从这里开始看就可以了,node-sass的包很难下载成功

参考webpack官网,打包sass我们需要sass-loader和node-sass。
安装先

cnpm install sass-loader --save-dev
cnpm install node-sass --save-dev

webpack进行如下配置将style-loader 和 css-loader 与 sass-loader 链式调用,可以立刻将样式作用在 DOM 元素。
在这里插入图片描述
打包之后,成功添加样式
在这里插入图片描述

添加前缀

在添加css3的属性时,我们一般会对其添加不同的厂商前缀,保证兼容性。自己去手动添加会很麻烦,我们可以利用postcss-loader和autoprefixer插件来智能添加前缀。
首先安装它们,然后添加配置文件postcss.config.js:

 cnpm install postcss-loader --save-dev
 cnpm install autoprefixer --save-dev

然后添加配置文件postcss.config.js:
在这里插入图片描述
修改webpack.config.js
在这里插入图片描述
打包之后运行
在这里插入图片描述
发现样式生效,但是并没有添加前缀,查阅文档得知,我们还需要指定支持浏览器的版本
在这里插入图片描述
此时打包后运行,样式签注就出来了
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值