1.全局定义污染
之前我们都是写在一个大的文件里面,这里面通常把所有的css相关的统统放进来,这样做会造成很多奇奇怪怪的问题,并且很难以追踪,有时候我从quasar官网拷贝的代码放到项目里面发现显示的效果不一样,后来才发现css被全局定义所修改(原以为改到的某个quasar的类,实际上quasar全局都使用了),除此之外,还有一个问题就是如果全部写在一起,项目越来越庞大就会造成选择器污染
2.出现问题不好追踪
- 首先是定义在全局的类名会覆盖全局,写在app.sass我不好去区分哪里写的是业务代码还是全局代码,造成后期维护困难
比如一个页面要是出现了样式不符合预期,我们去追踪这个问题,第一眼肯定是去看这个页面里面写的css,我们本来直接打开SFC文件即可,现在变成了要打开APP.sass,然后再在里面继续查找是这个页面影响到了全局的变化,还是全局的组件影响到了
一些想法
所以对于这种情况,应当将css模块化,如果要统一修改一个component的样式,可以在src目录下新建一个styles文件夹里面根据component对应的名字+描述,写上样式,然后在全局的css中通过import进行导入,或者在SFC文件里面去加scrope再import,这样全局里面改了什么就一目了然
并且一些vue的一些特性,例如css v-bind变量无法使用等