babel里@babel/plugin-transform-runtime没什么效果?

发布于 2022-09-11 19:20:26 字数 1510 浏览 13 评论 0

源代码:

let promise = new Promise(function (resolve,reject) {
    setTimeout(()=>{resolve()},1000)
})
Array.from(new Set([1, 2, 3, 2, 1])); 
[1, 2, NaN, 3, 4].findIndex(isNaN);  

先用下面的.babelrc

{
    "presets": [
        
        ["@babel/env",{
            "targets": {
              "chrome": "58",
              "ie": "10"
            },
            "useBuiltIns": "usage",
          }]
        
      ],
    "plugins": []
}

生成下面代码

"use strict";

require("core-js/modules/es6.array.find-index");

require("core-js/modules/web.dom.iterable");

require("core-js/modules/es6.array.iterator");

require("core-js/modules/es6.set");

require("core-js/modules/es6.string.iterator");

require("core-js/modules/es6.array.from");

require("core-js/modules/es6.promise");

require("core-js/modules/es6.object.to-string");

var promise = new Promise(function (resolve, reject) {
  setTimeout(function () {
    resolve();
  }, 1000);
});
Array.from(new Set([1, 2, 3, 2, 1]));
[1, 2, NaN, 3, 4].findIndex(isNaN);

然后我在plugins里面加了@babel/plugin-transform-runtime


{
    "presets": [
        
        ["@babel/env",{
            "targets": {
              "chrome": "58",
              "ie": "10"
            },
            "useBuiltIns": "usage",
          }]
        
      ],
    "plugins": [
         "@babel/plugin-transform-runtime"
      ]
}
但是最后生成的代码还是和之前一模一样的,这是咋回事呀

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

深居我梦 2022-09-18 19:20:26

这个不是最后生成的代码吧?或者是不是用了babel-ployfill?可以看下我以前总结的:https://segmentfault.com/a/11...

早茶月光 2022-09-18 19:20:26

useBuiltInstransform-runtime不能同时使用,只能选其一。

You should use either useBuiltIns or transform-runtime for polyfills.

参考这个issuehttps://github.com/babel/babel/issues/9882

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文