我在使用Rollup和Babel转发ES2015的startsWith
时遇到了意想不到的麻烦。我使用babel-preset-env
并在我的.babelrc
{
"presets": [
["env", {
"targets": {
"browsers": ["last 2 versions", "not ie >= 10"]
},
"debug": true
}]
]
}
我的rollup.config.js
设置为尊重我的.babelrc
,并且我发现它在我的调试信息中正确输出它尊重我的浏览器目标。尽管如此,在我的捆绑JS中,我看到startsWith
未被触及,在任何地方都看不到填充物。
我可能做错了什么?
答案 0 :(得分:2)
Babel只会转换语法(如let
/ const
,箭头函数,类等),而不是API方法(如.startsWith()
或.includes()
)。
为此,你需要一个polyfill,比如babel-polyfill。但是,如果您只需要.startsWith函数a simpler polyfill will suffice。那,或者您可以简单地创建自己的startsWith()
函数并使用它。