【问题标题】:Babel will not transpile Javascript default value parameters for IE11Babel 不会为 IE11 转换 Javascript 默认值参数
【发布时间】:2020-11-19 14:33:57
【问题描述】:

我的 javascript 文件

require('core-js');

const dzsHelpers = require('./js_common/_dzs_helpers');
const dzsapHelpers = require('./jsinc/_dzsap_helpers'); <-- THE CODE IS HERE
const dzsapComments = require('./jsinc/components/_comments'); [ ... ]

我的 webpack

{ 测试:middleExtensionRegex, 排除:/(node_modules|bower_components)/, 加载器:“通天塔加载器”, 选项: { 来源地图:是的, 缩小:真实, sourceType:“明确”, 预设:[ ['@babel/preset-env', { useBuiltIns: '入口', corejs:{版本:3}, 调试:是的, forceAllTransforms:真, 松散的:真实的, “forceAllTransforms”:是的, “目标”:{ “铬”:“58”, “即”:“11” } }] ], “插件”:[ ["@babel/plugin-transform-parameters", {}], ["@babel/plugin-transform-arrow-functions"], [ "@babel/transform-runtime", { “再生器”:真 }, ] ], 忽略:['node_modules'] }, // 加载器的选项 }

这可以满足我的需要 - https://babeljs.io/docs/en/babel-plugin-transform-parameters - 在纸上... 但是,输出总是这样 function(elThis,defaultOptions,argOptions=null,searchedAttr="data-options"){var finalOptio [...]

而IE11自然会抱怨……

我做错了什么?

【问题讨论】:

  • 为什么"forceAllTransforms": true 被列出了两次?
  • 没关系
  • 所有尝试都是徒劳的,唯一的解决办法是使用闭包编译器

标签: javascript webpack babeljs core-js


【解决方案1】:

所有使用 babel 预设 env 目标浏览器 ie11 的尝试都是徒劳的。

唯一对我有用的解决方案是使用 Closure Compiler (webpack 5):

  optimization: {
    minimizer: [
      new ClosurePlugin({mode: 'STANDARD'}, {
        debug: true,
        languageOut: 'ECMASCRIPT5',
        renaming: false
      })
    ]
  },

【讨论】:

    猜你喜欢
    • 2019-03-20
    • 2018-09-06
    • 2017-08-31
    • 2012-03-03
    • 2010-10-28
    • 1970-01-01
    • 2019-10-20
    相关资源
    最近更新 更多