使JavaScript捆绑包无需转换最新功能(非ES6)

时间:2018-10-12 20:33:24

标签: javascript webpack babel

我想制作一个没有转译的包,并且还想使用浏览器支持的最新功能,即使它不是ES6(例如,Chrome支持对象的散布运算符)。是的,我确定所有客户端都仅使用最新版本的浏览器。 我花了几天的时间进行搜索,但没有找到其他东西:Bundle ES6 files without transpilation 但这对我没有帮助。 我尝试使用babel-preset-envChrome 64作为目标,但是“对象传播”仍然被编译。

let o1 = {
    f1: 1
};

let o2 = { ...o1,
    f2: 2
};

转译为

/* WEBPACK VAR INJECTION */(function($) {function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
var o1 = {
    f1: 1
};

var o2 = _objectSpread({}, o1, {
    f2: 2
});

有人知道如何解决这个问题吗?

0 个答案:

没有答案