Почему Babel импортирует уже поддерживаемый полифилл? - PullRequest
1 голос
/ 21 сентября 2019

Я использую rollup js и Babel для переноса моего javascript, но почему babel добавляет polyfill для "обещаний"?когда Chrome поддерживает обещания из версии 33. Я нацеливаюсь на chrome version > 61

Режим отладки:

Добавлено следующее core-js polyfill: es.promise { "chrome":"62" }

rollup.config.js

import babel from "rollup-plugin-babel";
import resolve from "rollup-plugin-node-resolve";
import commonjs from "rollup-plugin-commonjs";

export default [
    {
        input: "src/main.js",
        output: {
            file: "./dist/bundle-modern.js",
            format: "iife",
            name: "bundle"
        },
        plugins: [
            babel({
                exclude: "node_modules/**",
                presets: [
                    [
                        "@babel/preset-env",
                        {
                            targets: {
                                browsers: ["Chrome > 61"]
                            },
                            useBuiltIns: "usage",
                            corejs: 3,
                            debug: true
                        }
                    ]
                ]
            }),
            resolve(),
            commonjs()
        ]
    }
];

main.js

function checkStatus(response) {
    if (response.status >= 200 && response.status < 300) {
        return response;
    } else {
        var error = new Error(response.statusText);
        error.response = response;
        throw error;
    }
}

function parseJSON(response) {
    return response.json();
}

fetch("https://randomuser.me/api")
    .then(checkStatus)
    .then(parseJSON)
    .then(function(data) {
        console.log("request succeeded with JSON response", data.results);
    })
    .catch(function(error) {
        console.log("request failed", error);
    });
...