習慣Webpack + PostCSS後, 一般PostCSS
都是直接對CSS
文件進行處理, 可是大部分習慣SCSS/SASS/LESS的朋友也許不適應了. 我專門研究了一下, 在Visual Studio Code
編輯器下若是配置相關代碼和設置達到CSS文件完美編寫SCSS的辦法, 其餘語法類型原理類似, 這裏以SCSS
爲例.
首先, 配置編輯器的設置, 按快捷鍵"CTRL + ,
"打開用戶設置, 添加以下配置片斷:javascript
"files.associations": { "*.css": "scss" }
我這裏作了全局的用戶設置
, 由於我我的大部分狀況下是寫SCSS, 固然若是你僅對該項目配置, 也能夠將上面這段放進工做區設置
(是放在默認花括號內哦, 千萬不要弄錯了~).css
這樣, VSCode編輯器就會把全部CSS文件當成SCSS格式來解析了, 也就不會出現可怕的紅色波浪線了.html
接下來, 對PostCSS進行相關配置. 咱們這裏須要安裝最重要的兩個PostCSS插件postcss-scss
和precss
. 執行命令:java
npm i -D postcss-scss precss
安裝好後, 修改項目的postcss.config.js
配置以下(我另外有用到autoprefixer
和cssnano
, 固然你能夠根據我的狀況選擇, 重要部分是parser: 'postcss-scss'和require('precss')):git
module.exports = { parser: 'postcss-scss', plugins: [ require('precss'), require('autoprefixer'), require('cssnano') ] }
這樣問題就解決了. 試着編譯一下如下測試代碼:github
/* css文件用scss語法測試 */ $blue: #056ef0; .test { display: flex; // 這是scss註釋 color: $blue; .box { flex: 1; } }
編譯後:web
.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
查看.npm
若是文中有誤, 或者還有什麼疑問歡迎留言~sass
postcss-scss
插件到底作了什麼? 據我觀察, 行註釋
會被轉換成標準的CSS塊註釋
, 而其餘的做用還還沒有理解, 下面是官方描述:bash
This module does not compile SCSS. It simply parses mixins as custom at-rules & variables as properties, so that PostCSS plugins can then transform SCSS source code alongside CSS.
px
轉rem
單位的插件postcss-pxtorem
, 我這裏也有個完整的DEMO, 提供給你們參考~