如何让babel为多个文件生成像`__createClass`这样的polyfill一次?

时间:2016-11-07 07:58:26

标签: node.js typescript babel

我的项目包含许多ES6文件,所有这些文件至少包含一个类。 为每个文件生成__createClass__interopRequireDefault__classCallback polyfilling函数。 之后我会用browserify将它们连接起来,我想这对于所有文件来说都是多余的。 我想我可以在捆绑任务期间注入polyfilling函数。

当我使用typescript时,我可以指定--noEmitHelpers选项,以便在编译任务期间不生成此类代码。有没有办法用babel做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用babel-plugin-transform-runtime。它完全符合您的需求。查看docs

  

这是transform-runtime插件的用武之地:所有帮助程序都将引用模块babel-runtime以避免编译输出中的重复。运行时将被编译到您的构建中。

$ npm install --save-dev babel-plugin-transform-runtime 
$ npm install --save babel-runtime

<强> .babelrc

{
  "plugins": ["transform-runtime"]
}