docs for babel-preset-env
状态,它允许指定目标浏览器以使用浏览器列表查询进行转换。给出的示例是“> 0.25%,没有死”的查询,以忽略“没有安全更新的浏览器,如IE 10和BlackBerry”。
但是设置debug: true
来显示babel正在使用哪些目标,似乎似乎只考虑了浏览器列表查询的固定子集(“ android,chrome,edge,firefox,即ios ,Safari”。
$ cat .babelrc
{
"presets": [["@babel/env", { "modules": false, "debug": true }]]
}
$ cat .browserslistrc
last 1 version
not dead
$ echo "const fn = (...args) => args;" | npx babel -f test
...
Using targets:
{
"android": "67",
"chrome": "67",
"edge": "17",
"firefox": "61",
"ie": "11",
"ios": "11.3",
"safari": "11.1"
}
...
$ npx browserslist
and_chr 67
and_ff 60
and_qq 1.2
and_uc 11.8
android 67
baidu 7.12
chrome 67
edge 17
firefox 61
ie 11
ie_mob 11
ios_saf 11.3-11.4
op_mini all
op_mob 46
opera 53
safari 11.1
samsung 7.2
所以应该有可能目标Opera Mini?还是说明文件具有误导性?
例如“最后1个版本,没有失效,不是11,不是Android 67”将不是转换箭头功能-即使根据caniuse(“ and_qq 1.2 ”,“ ie_mob 11”,“ op_mini全部”)
编辑:
我认为这与babel-preset-env
从compat-table
(而不是caniuse
或browser-compat-data
)获取浏览器支持数据有关?