gulp-sass 生成的 CSS 代码格式化

Posted 闲谈CSS那些事儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gulp-sass 生成的 CSS 代码格式化相关的知识,希望对你有一定的参考价值。

写在前面


很早之前就听说 sass 这个东西,但一直没兴趣去接触也不想接触,后来玩的人多了,也多少听到了一些看到了一些,带着好奇的心情草草地看了一本跟 sass 有关的书。现在大家都是把 sass 跟 gulp 放在一起说了,我又好奇了一下,结果在生成的 CSS 文件中,看到格式化居然是用两个空格来缩进的……居然是用两个空格……两个空格……


好吧,其实呢,我真没深入接触过 sass,这里肯定也说不了什么有趣的东西,这篇只是一个相对比较喜欢分享的人在“发现新大陆”后的小小总结,要吐槽的朋友请轻一点。


正文开始


对于 sass 到底有多强大有多厉害,这个到目前为止我还是没太多兴趣去知道,因为我看到的是 sass 最终会在编译之后转为 CSS 文件,而我最关心的也就是这个 CSS 文件是否能够让我爽。


然而这次尝试安装了 gulp-sass,在编译生成的 CSS 文件中,居然是用两个空格缩进的,这个我实在是有点接受不了,强迫症啊。习惯了用 tab 缩进,看到选中后出现的是两个点点,而不是一条线,心里就难受。


在各种搜索后并没找到相关的文档有介绍,都只是介绍怎么配置 gulp,怎么安装 gulp 插件之类的,配置也都是相类似的存在这句:


.pipe(sass({outputStyle: 'expanded'}))


而这个并不是我目前所想要的,我想要的是得到这样的 CSS 格式化文件:

gulp-sass 生成的 CSS 代码格式化

想到安装的时候出现很多文件存在于 node_modules 这个文件夹中,于是开始翻文件,通过 gulp-sass/index.js 中这句:


gulpSass.compiler = require('node-sass');


再深入找 node-sass 中的文件,最终在这个路径


node_modules/gulp-sass/node_modules/node-sass/lib/


下的 index.js 文件中找到了很多有关配置的代码(大概在107行开始,就不截图了)


很开心看到了 return 中内容有一个 outputStyle,跟 gulpfile.js 中的是参数是一样,于是直接看下面几段 function(其实都是英文单词,很容易看明白),再分别调用尝试,结果很满足,得到我想要的了。


gulp-sass 生成的 CSS 代码格式化

.pipe(sass({outputStyle: 'expanded', indentType: 'tab', indentWidth: 1}))


其实在 sublime 编辑器中可以直接点右下角的状态改变空格缩进或者 tab 缩进的方式:

gulp-sass 生成的 CSS 代码格式化

但 sass 如果被 watch 着,实时编译,每次都要点击一下,很烦。


哦,对了,其实在github 上有资料介绍 https://github.com/sass/node-sass#indenttype--v300


indentType (>= v3.0.0)

Type: String Default: space

Used to determine whether to use space or tab character for indentation.


写在最后


挺水的一篇就这样结束了,其实只要把那行配置代码放出来就可以了,我却啰嗦了一堆,唉……


闲扯CSS的那些事儿,没啥事儿就谈谈CSS

不深入,只扯淡

扯点自己想说的,或许也是你想听的,没有高深的东西,但应该不是平庸的……


以上是关于gulp-sass 生成的 CSS 代码格式化的主要内容,如果未能解决你的问题,请参考以下文章

gulp-sass 将 Google Fonts CSS 编译到文件中,中断协议相关链接

Gulp-sass 不会编译成 CSS

Gulp-sass 5.0 如何使用带有 import() 而不是 require() 的编译器?

npm安装gulp-sass失败处理办法

Gulp-sass 无法编译 scss 文件

gulp 插件之 gulp-less,gulp-sass 和 gulp-sourcemaps