Babel Preset не обеспечивает поддержку IE11 для Object.assign - "Объект не поддерживает свойство или метод" присваивать ""
Я использую версию babel-preset-env - 1.6.1 для моего приложения-приложения, я получаю сообщение об ошибке в IE: - Object не поддерживает свойство или метод "присваивать"
это мой .babelrc: -
{
"presets": [
"react",
[
"env",
{
"targets": {
"browsers": [
"last 1 versions",
"ie >= 11"
]
},
"debug": true,
"modules": "commonjs"
}
]
],
"env": {
"test": {
"presets": [
[
"babel-preset-env",
"react"
]
],
"plugins": [
"transform-object-rest-spread",
"transform-class-properties",
"transform-runtime",
"babel-plugin-dynamic-import-node",
"array-includes",
"url-search-params-polyfill",
"transform-object-assign"
]
}
},
"plugins": [
"transform-object-rest-spread",
"transform-class-properties",
"syntax-dynamic-import",
"transform-runtime",
"array-includes",
"url-search-params-polyfill",
"transform-object-assign"
]
}
Я попробовал эти полисы: -
https://babeljs.io/docs/plugins/transform-object-assign/ https://www.npmjs.com/package/babel-plugin-object-assign
но это не сработало
Я использую синтаксис: -
let a = Object.assign({},obj);
везде в моем проекте
Мне нужен полиполк, который будет работать для моего проекта.
Ответы
Ответ 1
Вам нужен Babel Polyfill.
Либо импортируйте его в свой JS файл, либо используйте Webpack.
import "babel-polyfill";
или в webpack.config.js
module.exports = {
entry: ["babel-polyfill", "./app/main"]
}
ПРИМЕЧАНИЕ: babel-polyfill
Должен быть импортирован на самом верхнем babel-polyfill
Он не будет работать
Ответ 2
Babel Polyfill устарел с версии Babel 7.4.0
(Источник)
Пожалуйста, используйте вместо этого core-js.
import "core-js/stable";
import "regenerator-runtime/runtime";
Или с Webpack:
module.exports = {
entry: ["core-js/stable", "regenerator-runtime/runtime", "./app/main"]
}
В моем случае вышеупомянутый конфиг webpack не работает! потому что мне также не хватало многообещающего полифилла. Это webpack.config, который я использовал:
entry: { 'main': ['core-js/fn/promise', 'core-js/stable/object/assign', './wwwroot/src/app.js'] },