We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
這是一個可以在不同開發工具之間, 指定出共同目標的瀏覽器版本, 例如
Autoprefixer
Stylelint
babel-preset-env
stylelint-unsupported-browser-features
所有的設定條件將基於 can i use ? 的支持列表
使用方式可以在 package.json 加入
package.json
{ "browserslist": [ "> 1%", "last 2 versions", "not ie <= 8" ] }
或是在根目錄下新增 .browerslistrc
.browerslistrc
> 1% last 2 versions not ie <= 8
這段設定的語意是, 包含所有使用率大於 1%的瀏覽器, 且是此瀏覽器最新的兩個版本, 並排除 IE8 以下的版本, not 表示反選
not
npx browerslist 可以顯示所有目前設定的瀏覽器版本列表
npx browerslist
npx browserslit-ga 生成訪問你網站的版本分布數據, 需要有 google analytics
npx browserslit-ga
不要僅僅是使用 last 2 Chrome versions 此類的條件,市面上的瀏覽器太多, 瀏覽器版本也非常碎片化, 應多多考慮不同瀏覽器兼容性的問題
last 2 Chrome versions
如果不使用 browserslsit 的默認設定, 推薦使用 last 1 version, not dead 和 > 0.2%(或者> 1% in US,> 1% in my stats)
browserslsit
last 1 version
not dead
> 0.2%
> 1% in US
> 1% in my stats
不刻意移除特定瀏覽器的兼容, Opera mini 在非洲有一億用戶,全球範圍內,它也比 微軟的 Edge 瀏覽器更加流行。 QQ 瀏覽器的使用量比桌面端的火狐和 Safari 瀏覽器加起來還多
通常我們 coding convention 會遵照一些規範
Google - styleguide - CSS_Style_Rules
Airbnb CSS / Sass Styleguide
stylelint 是一套 css 版的 eslint, 可以在團隊共同開發時, 讓大家可以在提交代碼的時候去檢查自己寫的 css 有哪些問題, 也可以在 git pre-commit 時作為最後一道防線, 以防 commit 上去之後大爆炸, 更可以在有條件的情況下自動 fix 有問題的 code
stylelint
eslint
git pre-commit
demo 順便安裝一下 stylelint-no-unsupported-browser-features, 這套工具超方便! 可以搭配 vscode 擴充套件, 在寫 css 就可以發現自己不小心寫了哪些 瀏覽器不支援的 css 屬性
stylelint-no-unsupported-browser-features
效果如下圖
$ npm install stylint stylelint-no-unsupported-browser-features
"scripts": { "lint:css": "stylelint **/*.{html,vue,css,sass,scss}" }, "stylelint": { "plugins": [ "stylelint-no-unsupported-browser-features" ], "rules": { "plugin/no-unsupported-browser-features": true, "property-no-vendor-prefix": true, "color-hex-length": "long" }, "defaultSeverity": "warning" },
我們可以在一個 css 檔案裡面測試看看
.test-a { display: grid; will-change: transform; } .test-b { -webkit-animation: none; }
vscode 會依據 stylelint 的設定, 即時提示目前檔案有哪些問題, 可以看到 -webkit-animation: none;, 已經被畫上了綠線, 並標示出 依據 stylelint-no-unsupported-browser-features, css-animation 屬性不被 Opera Mini 支援, 且依據 property-no-vendor-prefix, 直接寫 -webkit- 前綴是不被允許的
-webkit-animation: none;
css-animation
Opera Mini
property-no-vendor-prefix
-webkit-
這是一個很好用的功能, 但其實是有條件的, 它會自動幫你在 rules 裡面寫的條件去修正錯誤, 但只限於 這邊, 後面有列出 Autofixable 的選項才可以, 這邊試了一個例子
rules
Autofixable
.test-c { color: #fff; }
因為 rules 裡的 color-hex-length": "long" 的關係, #fff 會出現警告提示, 在下了 npm run lint:css -- --fix, 之後 stylelint 會幫我們自動進行修正為
color-hex-length": "long"
#fff
npm run lint:css -- --fix
.test-c { color: #ffffff; }
超級方便!
The text was updated successfully, but these errors were encountered:
No branches or pull requests
browserslist & stylelint
browserslist
這是一個可以在不同開發工具之間, 指定出共同目標的瀏覽器版本, 例如
Autoprefixer
Stylelint
babel-preset-env
stylelint-unsupported-browser-features
所有的設定條件將基於 can i use ? 的支持列表
設定
使用方式可以在
package.json
加入或是在根目錄下新增
.browerslistrc
相關小工具
npx browerslist
可以顯示所有目前設定的瀏覽器版本列表npx browserslit-ga
生成訪問你網站的版本分布數據, 需要有 google analytics最佳實踐
不要僅僅是使用
last 2 Chrome versions
此類的條件,市面上的瀏覽器太多, 瀏覽器版本也非常碎片化, 應多多考慮不同瀏覽器兼容性的問題如果不使用
browserslsit
的默認設定, 推薦使用last 1 version
,not dead
和> 0.2%
(或者> 1% in US
,> 1% in my stats
)不刻意移除特定瀏覽器的兼容, Opera mini 在非洲有一億用戶,全球範圍內,它也比 微軟的 Edge 瀏覽器更加流行。 QQ 瀏覽器的使用量比桌面端的火狐和 Safari 瀏覽器加起來還多
stylelint
通常我們 coding convention 會遵照一些規範
Google - styleguide - CSS_Style_Rules
Airbnb CSS / Sass Styleguide
stylelint
是一套 css 版的eslint
, 可以在團隊共同開發時, 讓大家可以在提交代碼的時候去檢查自己寫的 css 有哪些問題, 也可以在git pre-commit
時作為最後一道防線, 以防 commit 上去之後大爆炸, 更可以在有條件的情況下自動 fix 有問題的 code安裝
demo 順便安裝一下
stylelint-no-unsupported-browser-features
, 這套工具超方便!可以搭配 vscode 擴充套件, 在寫 css 就可以發現自己不小心寫了哪些 瀏覽器不支援的 css 屬性
效果如下圖
1. 安裝模組
2. vscode 擴充套件下載
stylelint
3. package.json 加入
stylelint
設定測試
我們可以在一個 css 檔案裡面測試看看
vscode 會依據
stylelint
的設定, 即時提示目前檔案有哪些問題, 可以看到-webkit-animation: none;
, 已經被畫上了綠線, 並標示出 依據stylelint-no-unsupported-browser-features
,css-animation
屬性不被Opera Mini
支援, 且依據property-no-vendor-prefix
, 直接寫-webkit-
前綴是不被允許的自動 fix
這是一個很好用的功能, 但其實是有條件的, 它會自動幫你在
rules
裡面寫的條件去修正錯誤, 但只限於 這邊, 後面有列出Autofixable
的選項才可以, 這邊試了一個例子因為
rules
裡的color-hex-length": "long"
的關係,#fff
會出現警告提示, 在下了npm run lint:css -- --fix
, 之後stylelint
會幫我們自動進行修正為超級方便!
參考
The text was updated successfully, but these errors were encountered: