在 Sublime 上面把 Sass 編譯成 CSS 比我想像還要麻煩,本來以為只要在 Sublime 上面安裝 Sass 套件就可以了,結果根本不是這樣子(我太天真的啊...)
Google 搜尋之後發現還需要安裝 SASS Build 套件才可以將 Sass 編譯成 CSS。當我以為這樣就完成安裝設定後才發現,不是只在 Sublime 上面安裝那兩個套件,還要在電腦安裝 Ruby 跟 Sass 才可以,我果然是太天真了...
於是就努力的研究一下到底要怎麼安裝設定才可以,以下是我自己的設定過程,如果需要比較詳細的教學,我在 YouTube 上面發現 Peter Sommerhoff 教學影片還不錯 Sass Beginner Tutorial,可惜是在我差不多都設定完成之後才看到。
我的作業系統是 Windows,所以以下安裝設定過程只適合 Windows。
1. 先在 Sublime 上利用 Package Control 安裝 Sass 、 SASS Build 跟 SublimeOnSaveBuild,當然前提是你有先安裝 Sublime 的 Package Control,需要 Package Control 安裝教學可以參考保哥的文章:Sublime Text 3 新手上路。
2. Sass 依賴 Ruby 環境,所以要先安裝 Ruby,到官網下載 Ruby Downloads,我不確定應該安裝哪個版本,因為我的筆電是 64-bit,所以就選了最新版本的 64-bit 安裝。這邊要注意安裝時要將第二個選項打勾:
3. 安裝 Sass。先開啟 Start Command Prompt with Ruby
然後輸入:
gem install sass
如果要檢查是否安裝成功可以輸入:
sass -v
如果有出現 Sass 版本那就表示已安裝成功。
4. 將 Sass 編譯成 CSS。到目前為止,環境配置都已經完成。在 Tools -> Build System -> SASS。
然後開啟 Sass 檔案,按下 Ctrl + B 就會將檔案編譯成 CSS,可是編譯出的 CSS 檔案會跟 Sass 檔案在同一個資料夾中。
5. 如果想要把 CSS 檔案自動編譯到另一個 CSS 資料夾中,要進一步設定。在到 Sublime 裡,選 Tools -> Build System -> New Build System。
將下面的程式碼貼上:
{ "cmd": ["sass", "--update", "$file:${file_path}/../css/${file_base_name}.css", "--stop-on-error", "--no-cache"], "selector": "source.sass, source.scss", "line_regex": "Line ([0-9]+):", "osx": { "path": "/usr/local/bin:$PATH" }, "windows": { "shell": "true" } }
另存新檔到下面路徑內:
C:\ Users\***\AppData\Roaming\Sublime Text 3\Packages\User
檔名可以隨你喜好(只要是英文檔名),但是附檔名一定要是 .sublime-build。
重開 Sublime 後,然後在 Tools -> Build System -> (剛才你創的檔名,我的是 Build to CSS Directory)。
在你工作的檔案夾內創一個 CSS 檔案夾,然後在 Sublime 開啟 Sass 檔案,按 Ctrl + B,就會發現 CSS 檔案會直接編譯到 CSS 檔案夾內。
6. 這樣就成功在 Sublime 上將 Sass 檔編譯成 CSS 了,不過在編譯的過程,如果你的 Sass 檔案有中文字,要加上
@chartset "UTF-8"
,否則會出現編譯失敗的訊息。7. 因為有安裝 SublimeOnSaveBuild 套件,所以每次 Sass 存檔時就會自動編譯更新 CSS 檔,如果沒有,那就要手動按 Ctrl + B 才會編譯更新。
不過 SublimeOnSaveBuild 會編譯 Sass 子文件(partials),所以還要另外設定,在 Preferences -> Package Settings -> SublimeOnSaveBuild -> Settings - User,然後貼上這一段程式碼:
{ "filename_filter": "(/|\\\\|^)(?!_)(\\w+)\\.(css|js|sass|less|scss)$", "build_on_save": 1 }
之後記得存檔,這樣 SublimeOnSaveBuild 就不會編譯 Sass 子文件的 CSS 檔案。
不過要記得在主要的 Sass 檔案中
@import "子文件檔名"
,不然會出現編譯錯誤的訊息。大概就是這樣子,對於熟悉電腦的人可能是非常簡單的事情,但對於我來說,有點複雜,希望可以幫到有同樣需求的人。
參考文章:
Sublime Text 配置 Sass
Get Sass Working in Sublime Text for Windows in 8 Steps
最近也是從codepen轉到用sublime!
ReplyDelete太感謝你的分享了:DD
感謝你的留言!抱歉現在才看到,是我的第一個留言,太令人感動了 QAQ
Deletethank you, help a lot~
ReplyDeleteYou're welcome. Thanks for your comment!
Delete不知能不能請教您問題
ReplyDelete請問這步驟:
然後開啟 Sass 檔案,按下 Ctrl + B 就會將檔案編譯成 CSS,
可是編譯出的 CSS 檔案會跟 Sass 檔案在同一個資料夾中
照您的程式碼打,我都沒出現你的情況,反而一直出現
WARNING on line 5 of D:\01_european\css\test.sass:
This selector doesn't have any properties and will not be rendered.
WARNING on line 9 of D:\01_european\css\test.sass:
This selector doesn't have any properties and will not be rendered.
WARNING on line 10 of D:\01_european\css\test.sass:
This selector doesn't have any properties and will not be rendered.
Error: Invalid CSS after "backgroound-color:": expected pseudoclass or pseudoelement, was "#fff"
on line 5 of D:\01_european\css\test.sass
Use --trace for backtrace.
[Finished in 0.3s]
不知您可否有解決方案呢?因為該裝的都裝了…應該吧?
謝謝
錯誤訊息看起來是你的 Sass 檔案中,1) 第五、九、十行的 selector 後面沒有完成(應該是冒號後面沒加東西),2) background-color: 後面加的東西是錯誤的,3)第五行使用了 --trace
Delete這些錯誤訊息都解決之後應該就可以成功編譯了
請問有辦法在.sass的檔案中 自動提示css的屬性嗎?
ReplyDelete應該是要安裝其他的套件才有提示 CSS 屬性的功能,這篇裡提到的套件只有把 Sass 編譯成 CSS 的功能而已。或是可以安裝 Emmet,可以記一些常用的 CSS 屬性縮寫,像是輸入 ff + tab 就等於 font-family,可以減少一些打字的時間
Delete請問
ReplyDelete每次儲存時都會出現這段
'sass' ���O�����Υ~���R�O�B�i���檺�{���Χ妸�ɡC
[Finished in 0.1s with exit code 1]
[cmd: ['sass', '--update', 'C:\\Users\\Administrator.SIN-20151015MVZ\\Desktop\\Demo\\MyProject\\新增資料夾\\test.scss:C:\\Users\\Administrator.SIN-20151015MVZ\\Desktop\\Demo\\MyProject\\新增資料夾/test.css', '--stop-on-error', '--no-cache']]
[dir: C:\Users\Administrator.SIN-20151015MVZ\Desktop\Demo\MyProject\新增資料夾]
[path: C:\Ruby25-x64\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Skype\Phone\]'sass' ���O�����Υ~���R�O�B�i���檺�{���Χ妸�ɡC
[Finished in 0.1s with exit code 1]
[cmd: ['sass', '--update', 'C:\\Users\\Administrator.SIN-20151015MVZ\\Desktop\\Demo\\MyProject\\新增資料夾\\test.scss:C:\\Users\\Administrator.SIN-20151015MVZ\\Desktop\\Demo\\MyProject\\新增資料夾/test.css', '--stop-on-error', '--no-cache']]
[dir: C:\Users\Administrator.SIN-20151015MVZ\Desktop\Demo\MyProject\新增資料夾]
[path: C:\Ruby25-x64\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Skype\Phone\]
該如何解決 已經照上面安裝了QQ
不知道你的問題解決了沒?!
Delete我有發現跟你一樣的狀況~
本來安裝的是Ruby x64的版本,後來改裝 x86的就好了~
或許你可以試試~~
路人經過,先謝謝Peggy這篇文章,給我的幫助很大!上面Wei遇到的問題我也遇過,我原先也參照shang的方法改裝x86,後來是重新安裝sublime才成功解決的!
Delete