从零开始搭建一个前端框架(四)通过css-loader实现项目对样式文件打包

本文介绍了如何使用webpack配置loader处理CSS和.vue文件。通过css-loader和style-loader,实现CSS文件的解析与样式应用。同时,讨论了.vue文件的处理,并预告了后续文章将深入探讨更多loader的使用。
摘要由CSDN通过智能技术生成

说在前面

正常开发一个前端项目,不可能只有JS文件,为了让页面有更好的效果我们还会引入CSS文件,开发VUE项目,我们也会使用以.vue为后缀的文件。更多的,还有字体,图片,音视频,markdown等等。我们要知道,webpack默认只能打包处理JS文件的类型,既然webpack作为如今主流的项目打包方案,他肯定支持各种类型的文件打包,下面我们来看看loader能给我们带来什么惊喜。

第三方 loader

首先说明一件事,.vue文件最终是会被转化为js文件的,所以在vue文件中引入的css等资源也是需要被打包的。好,我们一步一步来,先完成js文件中的样式解析。

css-loader

修改index.js,然后同目录下新建index.css文件。

index.css:

.rect{
    background-color: red;
    width: 100px;
    height: 100px;
}

index.js:

const Vue = require('vue');
import './index.css'
const Index = {
    data() {
        return {
            message: 'Hello @Vue!'
        }
    },
    mount() {
        let div = document.createElement("div");
        div.className = "rect";
        div.innerText = "hello div";
        document.getElementsByTagName("body")[0].appendChild(div);
    }
}
Vue.createApp(Index).mount('#app')

此时我们执行npm run serve,报错提示You may need an appropriate loader to handle this file type,我们需要引入合适的loader,好。

npm install css-loader --save-dev

然后编辑webpack.config.js文件,有没有发现,现在我们自己的配置文件已经初具规模了~

module.exports = {
	module: {
        rules: [
            {
                test: /\.css$/,
                use: [
                    { loader: "css-loader" }
                ]
            }
        ]
    },
}

然后我们执行npm run serve,此时已经不会报错了,查看页面的效果:

在这里插入图片描述

可以发现,虽然解析没有报错,但是样式并没有正确的应用到内容,因为css-loader只是完成了css文件的解析,我们还需要style-loader帮助我们将解析后的css内容,以css的样式挂载到生成的html页面中。

style-loader

安装:

npm install style-loader --save-dev

修改webpack.config.js,添加一句:

use: [
    { loader: "style-loader" }, // 新增
    { loader: "css-loader" }
]

值得注意的是,使用loader的顺序应该遵循从下到上的顺序,如上图所示,会先执行css-loader,然后再由style-loader完成最终转换。

由此我们也可以稍微发散一下思维,如今比较火的sass,如果想为他添加一个loader,应该放到什么位置,没错,就是css-loader下面!!

执行npm run serve,我们来看现在的页面截图:

在这里插入图片描述

说到最后

后续1-2篇文章,会持续输出对loader的应用实践,敬请关注。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值