【问题标题】:Can babel transpiled code run in browser without polyfills可以在没有 polyfill 的情况下在浏览器中运行 babel 转译代码吗
【发布时间】:2016-04-13 13:32:57
【问题描述】:

我对在当前项目中使用 ES6 功能非常感兴趣。我检查并发现了几个选项:TypeScript 和 Babel。我打算试试巴别塔。我担心的是,我在 babel 中写的代码经过 traspiling 后能在 IE9 中安全运行吗?还是我还需要 polyfill?

【问题讨论】:

  • 我倾向于说没有什么可以安全地在 IE9 中运行。

标签: ecmascript-6 babeljs


【解决方案1】:

是的,Babel 生成的代码会在 IE9 中运行(there are caveats,你需要使用plugins in Babel 6)。

但是,Babel 仅转译 ES2015/6 语言功能(新的语法更改、关键字等)。如果你想使用PromiseWeakSet/Map 等 ES6 内置函数,则需要为不兼容的浏览器使用 polyfill。

【讨论】:

  • 而一些新的语法特性依赖于新的库特性,所以如果你不 polyfill,你也不能使用它们,比如 for...ofSymbol.iterator
  • Babel可以默认导入@babel/polyfill吗?我必须在我的应用中导入它吗?
猜你喜欢
  • 2014-03-20
  • 2010-11-17
  • 2017-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-16
  • 2011-06-22
相关资源
最近更新 更多