iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
1
自我挑戰組

關於我的佛系SCSS開發系列 第 11

鐵人賽11天 @warn

  • 分享至 

  • xImage
  •  

今天補班日真心厭世,下班之後也要來寫鐵人賽,就來速速搞定今天要說明內容吧

這個要顯示錯誤,我們無法使用live.sass編譯使用看到錯誤,一開始上操作稍微麻煩一點,需要起一個專案,透過node-sass去觀看這一支檔案

專案建立

//先建立一個資料夾
//vs-code開啟一個終端機

npm init -y  //先產生出來一個package.json

npm install --save node-sass //安裝node-scss

package.json設定

package.json裡面,修改產生出來的環境

{
  //...
  "scripts": {
    "build-css": "node-sass -r scss/ -o css/ && node-sass -wr scss/ -o css/"
  },
  //...
}

簡單架設結束,我們要使用的環境,今天我們是要探討scss,package.json修改內容說明我們就先跳過囉

warn用法

//編譯前
@mixin do-math($input) {
  @if unit($input) == 'px' {
    @warn '請使用rem單位';
  } @else if unit($input) == 'rem' {
    width: $input;
  }
}

.show-test {
  @include do-math(250rem);
}
//編譯後
.show-test {
  width: 250rem; 
 }

https://ithelp.ithome.com.tw/upload/images/20200926/20129692EhT4ijL9dI.jpg

這邊設計了一個簡單判斷使用進去單位,先假設使用者只會使用px跟rem兩種單位,不考慮其他狀況,如使用%數或是vw之類等等,這樣我們確保進去得輸入值是否吻合我們期待,這樣方式對於在開發套件程式人員來說可以說是幫助比較大,因為我們如果輸入有錯誤值無法正常編譯,透過這樣方式,避免後續如果我們隨便進去錯誤值做我編譯

這個錯誤顯示主要功能感覺跟昨天好像大同小異,沒啥太大差別,不過這個比較重大差別是我們使用了warn,如果輸入不合法的數值下面其他scss設定也不會有被影響可以正常編譯,會出現你提示哪一段輸入的是不合法的數值,error會直接卡死,無法正常編譯

使用warn
https://ithelp.ithome.com.tw/upload/images/20200926/20129692HPBAPJXtl6.jpg

使用erroe
https://ithelp.ithome.com.tw/upload/images/20200926/20129692MmarrYkLgy.jpg


上一篇
鐵人賽10天 @error
下一篇
鐵人賽12天 @debug
系列文
關於我的佛系SCSS開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言