babel 默认不编译 API, 引入 babel-plugin-transform-runtime 就能做到 静态方法的编译, 为什么 babel-plugin-transform-runtime 不去做内建方法的编译呢? 比如 'str'.padStart().
1 回答
温温酱
TA贡献1752条经验 获得超4个赞
这个属于babel的架构上面的问题,他这样设计的初衷是用插件化处理,用不同的插件处理不同方面的事物【相反看来,其实增加了一定的学习成本和配置成本】。
'str'.padStart()
,对于这些需要被polyfill处理的api是在babel-polyfill
包内的。
但是babel-runtime
与babel-polyfill
的概念与使用场景也不一致,babel-runtime
用于框架或是工具包,babel-polyfill
则是用在实际项目中。
这是由于babel-polyfill
实际上是给所有的方法打了补丁,污染全局,如果是在框架内可能会导致很多问题。babel-plugin-transform-runtime
的作用范围也只是在module内。
添加回答
举报
0/150
提交
取消