编码时就检测兼容性并及时修改问题,相对于完成后在浏览器中测试出问题再修改,要简单得多。实现得基本思路是,定义需要兼容得浏览器版本(也可以是其他平台,比如 Node.js),然后检测工具根据定义得浏览器检测代码是否兼容。
定义浏览器列表 选择需要兼容的浏览器版本。在 package.json
中配置。
{
"browserslist": [
"last 2 Chrome versions",
"last 2 Firefox versions",
"last 2 Safari versions"
]
}
JS 兼容性检测 与 ESLint 结合使用。
npm i -D eslint
npm i -D eslint-plugin-compat
某一项特性如果已作兼容处理,需要配置到 .eslintrc.js
。
{
// ...
"settings": {
"polyfills": [
"Object.assign",
"Promise",
"URL",
"Array.from",
"Object.values"
]
}
// ...
}
CSS 兼容性检测 与 stylelint 结合使用。
npm i -D stylelint
npm i -D stylelint-no-unsupported-browser-features
HTML 兼容性检测 没找到与 Browserslist 配套的工具。