chaitong0 2019-06-26
PostCSS
都是直接对CSS
文件进行处理, 但是大部分习惯SCSS/SASS/LESS的朋友也许不适应了. 我专门研究了一下, 在Visual Studio Code
编辑器下如果配置相关代码和设置达到CSS文件完美编写SCSS的办法, 其他语法类型原理相似, 这里以SCSS
为例.首先, 配置编辑器的设置, 按快捷键"CTRL + ,
"打开用户设置, 添加如下配置片段:
"files.associations": { "*.css": "scss" }
我这里做了全局的用户设置
, 因为我个人大部分情况下是写SCSS, 当然如果你仅对该项目配置, 也可以将上面这段放进工作区设置
(是放在默认花括号内哦, 千万不要弄错了~).
这样, VSCode编辑器就会把所有CSS文件当成SCSS格式来解析了, 也就不会出现可怕的红色波浪线了.
接下来, 对PostCSS进行相关配置. 我们这里需要安装最重要的两个PostCSS插件postcss-scss
和precss
. 执行命令:
npm i -D postcss-scss precss
安装好后, 修改项目的postcss.config.js
配置如下(我另外有用到autoprefixer
和cssnano
, 当然你可以根据个人情况选择, 重要部分是parser: 'postcss-scss'和require('precss')):
module.exports = { parser: 'postcss-scss', plugins: [ require('precss'), require('autoprefixer'), require('cssnano') ] }
这样问题就解决了. 试着编译一下以下测试代码:
/* css文件用scss语法测试 */ $blue: #056ef0; .test { display: flex; // 这是scss注释 color: $blue; .box { flex: 1; } }
编译后:
.test{display:-webkit-box;display:-ms-flexbox;display:flex;color:#056ef0}.test .box{-webkit-box-flex:1;-ms-flex:1;flex:1}Tips: 我用了cssnano, 因此注释被自动去除, 如果需要保留, 需参阅cssnano文档进行相关配置.
至此, 我们的编辑器和项目都对CSS文件下编写SCSS有了很好的兼容. 至于其他用SASS
和LESS
的朋友可以举一反三, 安装对应的插件和修改VSCode设置. 整个操作过程应该花不了十分钟, 以后就能愉快的在CSS文件上面写SCSS啦~ 关于本次测试的代码可以访问postcss study
查看.
如果文中有误, 或者还有什么疑问欢迎留言~
postcss-scss
插件到底做了什么? 据我观察, 行注释
会被转换成标准的CSS块注释
, 而其他的作用还尚未理解, 下面是官方描述:
px
转rem
单位的插件postcss-pxtorem
, 我这里也有个完整的DEMO, 提供给大家参考~