vue-cli4使用现代模式构建后的babel配置

167 阅读1分钟

用户谷歌浏览器的主流版本是65.0,可以支持ES Module,但是后续的API支持需要Polyfill。所以我们的babel配置需要做到针对对应浏览器版本引入polyfill而不是全部引入,有利于缩减chunk体积。

babel.config.js

module.exports = {
    presets: [
        "@babel/preset-env",
        {
            targets:{
                chrome:"65",
            },
            useBuiltIns:"usage", //usage 按需引入 entry 只在入口引入一次 false 不使用polyfill
            shippedProposals:true, //是否转换浏览器已经支持的语法
            modules:false, //默认值,不指定模块化类型
            corejs:{
                version:"3.20",
                proposals:true,
            }
        }
    ],
    plugins:[
        "@babel/syntax-dynamic-import",
        ["@babel/plugin-transform-runtime",{ corejs:false,regenerate: false }],
    ]
}