В настоящее время я пытаюсь настроить babel для использования с проектом Vue, и у меня возникает ошибка Javascript The object does not support the property or method 'assign'
в Internet Explorer.
Я рассмотрел ряд вопросов и ответов и у меня есть работающийрешение, но это больше похоже на кувалду в том, что это удваивает размер файла скомпилированного JavaScript.
Если я изменю точку входа в webpack.config
, как показано ниже, это работает, но это добавляет более 100 КБ кода.
entry: {
main: ["babel-polyfill","./assets/src/main.js"],
}
Поскольку мне требуется лишь несколько методов для заполнения, я удалил полифилл из веб-пакета и попытался изменить babel.config
, чтобы включить только те, которые необходимы.
Это мой babel.config
module.exports = function (api) {
const presets = [
[
"@babel/preset-env",
{
targets: {
chrome: 59,
edge: 11,
firefox: 50,
ie: 11,
},
// for uglifyjs...
forceAllTransforms: api.env("production"),
modules: false,
useBuiltIns: "entry",
"include": [
"es6.object.assign",
"es7.array.includes", //https://github.com/babel/babel/blob/master/packages/babel-preset-env/data/built-in-features.js
]
},
],
];
const plugins = [
"@babel/plugin-transform-object-assign",
"@babel/plugin-transform-object-super",
];
return {
presets,
plugins
};
}
Однако это не работает, и я все еще испытываю ту же ошибку Javascript, как мне настроить babel только для polyfill для Object.assign
?
Я включил часть моего Package.json во все установки babel.
...
"devDependencies": {
"@babel/core": "^7.1.6",
"@babel/plugin-transform-object-assign": "^7.0.0",
"@babel/plugin-transform-runtime": "^7.1.0",
"@babel/preset-env": "^7.1.6",
"@vue/test-utils": "^1.0.0-beta.20",
"babel-loader": "^8.0.4",
....
},
"dependencies": {
"@babel/polyfill": "^7.0.0",
"@babel/runtime": "^7.1.5",