码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • webpack如何处理css


    一、准备工作

    新建目录

    添加样式

    1. .word {
    2. color: red;
    3. }

    index.js添加dom元素,添加一个css word

    1. import './css/index.css';
    2. const div = document.createElement("div");
    3. div.innerText = "hello word!!!";
    4. div.className = "word";
    5. document.body.appendChild(div);

    然后把打包后的文件引入index.html

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6. <title>Documenttitle>
    7. head>
    8. <body>
    9. <script src="./build/build.js">script>
    10. body>
    11. html>

    这个时候打包npm run build就会报错

    这个时候就需要loader处理我们的css

    二、css-loader

    首先安装我们需要的loader

    pnpm i -D css-loader

    添加配置文件,test正则匹配文件,loader对应我们的loader名称

    1. const path = require("path");
    2. /**
    3. * 类型提示
    4. * @type {import("webpack").Configuration}
    5. */
    6. const config = {
    7. entry: "./src/index.js",
    8. output: {
    9. filename: "build.js",
    10. path: path.resolve(__dirname, "./build"),
    11. },
    12. module: {
    13. rules: [
    14. {
    15. test: /\.css$/, //正则匹配文件
    16. use: [
    17. {
    18. loader: "css-loader",
    19. }
    20. ],
    21. },
    22. ],
    23. },
    24. };
    25. module.exports = config;

    这个时候打包会发现界面的样式没有成功

     

    这是因为css-loader只是处理,没有把我们的样式引入到对应的文件,我们需要另一个loader处理

    三、style-loader

    先安装后引入

    pnpm i -D style-loader
    1. module: {
    2. rules: [
    3. {
    4. test: /\.css$/, //正则匹配文件
    5. use: [
    6. {
    7. loader: 'style-loader',
    8. },
    9. {
    10. loader: "css-loader",
    11. },
    12. ],
    13. },
    14. ],
    15. },

    我们需要注意loader的顺序,从下往上执行,我们先处理css然后通过style-loader注入样式

    运行npm run build发现样式生效了

  • 相关阅读:
    RabbitMQ总结
    Nacos技术学习与总结待续
    SmartX 边缘计算解决方案:简单稳定,支持各类应用负载
    asp.net城市公交线路查询系统sqlserver
    freeswitch之注册用户管理
    关于vue中的双向数据绑定
    不再受害:如何预防和应对.mallab勒索病毒攻击
    MATLAB车牌是如何精准定位的???!!!【深度好文】
    【ROS2原理8】节点到参与者的重映射
    华为数通HCIP 821BGP 知识点整理
  • 原文地址:https://blog.csdn.net/QAEARQ/article/details/134676854
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号