babel 7.4版本更新后,babel-polyfill废弃,使用新的useBuiltIns配置

// webpack.config.js的babel相关内容            
            { 
                test: /\.js$/, 
                exclude: /node_modules/, 
                loader: "babel-loader" ,
                options: {
                    "presets": [["@babel/preset-env", {
                        useBuiltIns: "usage",
                        corejs: 3
                    }]]
                }
            }
// index.js的内容,若要useBuiltIns有效,得引入新的配置,不再引入polyfill
// 这里注意,是引入 'core-js',博主刚开始引入'core-js/stable',导致无法生效。

import 'core-js';  // 请继续看后文
import 'regenerator-runtime/runtime';

const arr = [
    new Promise(() => {}),
    new Promise(() => {})
]
arr.map(item => {
    console.log(item)
})

此时打包已经可以成功了,但是!!博主发现命令行里出现了这样一段话

When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed.
  Please remove the direct import of `core-js` or use `useBuiltIns: 'entry'` instead.

我蒙了,感情直接折腾import 'core-js'是完全不必要的,因为这货根本不需要引入。。。所以index.js之中只要下面这样就行了

import 'regenerator-runtime/runtime';

 

你可能感兴趣的:(前端)