我想将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