有没有办法抑制babel提供的polyfill?例如,转发以下内容:
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var obj = { a: 1 };
var obj2 = _extends({}, obj);
将输出
var obj = { a: 1 };
var obj2 = Object.assign({}, obj);
我希望输出:
{{1}}
由于我们的代码库的性质,我想提供一个Object.assign polyfill然后让babel在转换时不进行这种转换。我已经阅读了文档,但无法找到实现这一目标的方法。这可能吗?
答案 0 :(得分:1)
您似乎正在使用object rest spread transform plugin。如文档所述,它可以配置为仅使用内置函数,而不是提供它自己的polyfill。如果您使用.babelrc
配置构建过程,则只需将其修改为以下内容:
{
...
"plugins": [
["transform-object-rest-spread", { "useBuiltIns": true }]
]
}