如何阻止babel将“ this”(用作IIFE参数)转换为“ void 0”?

时间:2018-10-09 16:35:11

标签: javascript ecmascript-6 babeljs ecmascript-5

我想将ES6转换为ES5,因为我们被迫支持IE11,并且在使用现代脚本时遇到了一些麻烦。我的捆绑包中包含Sweetalert2,而window在babel之后得到了undefined

输入

(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
    typeof define === 'function' && define.amd ? define(factory) :
    (global.Sweetalert2 = factory());
}(this, (function () { 'use strict'; 
    // ...

巴别塔处理后:

(function (global, factory) {
  (typeof exports === "undefined" ? "undefined" : _typeof2(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.Sweetalert2 = factory();
})(void 0, function () {
  'use strict';
// ....

我找到了How to stop babel from transpiling 'this' to 'undefined',并且由于预置了es2015软件包is considered as deprecated,所以我认为使用@babel/preset-env可以为babel7更新up {2},但它不起作用。

.babelrc

"esmodules": false

0 个答案:

没有答案