展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

vite处理css

  • 新建1个css文件引入到main.js中测试

  • vite天生就支持对css文件的直接处理

1. vite在读取到main.js中引用到了Index.css
2. 直接去使用fs模块去读取index.css中文件内容
3. 直接创建一个style标签, 将index.css中文件内容直接copy进style标签里
4. 将style标签插入到index.html的head中
5. 将该css文件中的内容直接替换为js脚本(方便热更新或者css模块化), 同时设置Content-Type为js 从而让浏览器以JS脚本的形式来执行该css后缀的文件
  • 在团队开发中,2个成员编写不同的组件时,组件中使用了同样的类名,最终可能会导致样式被覆盖(因为类名重复), 这就是我们在协同开发的时候很容易出现的问题

  • cssmodule就是来解决这个问题的

成员A编写componentA.module.css
成员B编写componentB.module.css
  • 编译后,相同的类名被编译为如下

  • 编译原理

1. module.css (module是一种约定, 表示需要开启css模块化)
2. 他会将你的所有类名进行一定规则的替换(将footer 替换成 _footer_i22st_1)
3. 同时创建一个映射对象{ footer: "_footer_i22st_1" }
4. 将替换过后的内容塞进style标签里然后放入到head标签中 (能够读到index.html的文件内容)
5. 将componentA.module.css内容进行全部抹除, 替换成JS脚本
5. 将创建的映射对象在脚本中进行默认导出
  • less(预处理器): less给我们提供了一些方便且非常实用的方法

  • vite对less的支持

  • 源代码

  • 编译后的代码

posted @ 2022-09-14 10:54  DogLeftover  阅读(990)  评论(0编辑  收藏  举报