我们不建议在文件的开头使用import '@babel/polyfill'。因为这样左的缺点是会全局引入整个 polyfill 包,比如 Array.from 会全局引入,不但包的体积大,而且还会污染全局环境。
babel-preset-env这个包通过browserslist来转译哪些浏览器中不支持的特性。这个preset使用useBuiltIns选项,默认为false,这种方式可以将全局babel-polyfill导入,改进为更细粒度的import格式。
需要下载
babel-loader
@babel/core
@babel/preset-env
core-js@3
// webpack.config.jsmodule.exports = {module: {rules: [{test: /\.js$/,exclude: /node_modules/,use: {loader: 'babel-loader',options: {presets: [['@babel/preset-env',{targets : ['last 1 version','> 1%'],useBuiltIns: 'usage',corejs: 3}]]}}}]}}
