transpileDependencies与babel编译顺序释义

27 篇文章 1 订阅
12 篇文章 0 订阅

如果transpileDependencies为true或为正则,

接着看package.json里的browserslist是否处在低级浏览器范围,

如果处在低级浏览器范围内,那么会把node_modules里用得到的高级语法进行babel编译

如果transpileDependencies为false,则会把node_modules里用到的高级语法原封不动的打包(无视browserslist范围),会造成在低级浏览器访问报错的情况

总结;transpileDependencies为false,则原封不动的打包进bundle,否则,根据browserslist情况决定是否需要打polyfill

babel.config.js配置如下,此配置同样适用于vue-cli5.08

注意要把modules: false这句加上,否则在编译低级浏览器并打包后,访问时会报找不到module.exports

参考地址 https://babeljs.io/docs/en/babel-preset-env
npm install --save-dev @babel/preset-env

module.exports = {
  presets: [
    [
      "@babel/preset-env",
      {
        modules: false,
        useBuiltIns: "usage",
        corejs: "3.22",
      },
    ],
  ],
  plugins: [],
}

vue-cli5.08对应的默认包 

数组表达方法    
transpileDependencies: [
        /[/\\]node_modules[/\\](.+?)?element-ui(.*)[/\\]src/,
        /[/\\]node_modules[/\\](.+?)?element-ui(.*)[/\\]package/,
        /[/\\]node_modules[/\\](.+?)?f-render(.*)/,
        /[/\\]node_modules[/\\](.+?)?quill-image-drop-module(.*)/,
        /[/\\]node_modules[/\\](.+?)?vue-ele-form(.*)/,
        /[/\\]node_modules[/\\](.+?)?vue-ele-form-bmap(.*)/,
        /[/\\]node_modules[/\\](.+?)?vue-baidu-map(.*)/,
        /[/\\]node_modules[/\\](.+?)?vue-ele-upload-image(.*)/,
        /[/\\]node_modules[/\\]test[/\\]/,
        /[/\\]node_modules[/\\][@\\]test2[/\\]test3[/\\]/
    ],

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值