web-dev-qa-db-ja.com

Babelプリセットは、IE.11でObject.assignをサポートしていません-「オブジェクトはプロパティまたはメソッド 'assign'をサポートしていません」

私はbabel-preset-env version-1.6.1を反応アプリに使用していますが、IEでエラーが発生しています: -オブジェクトはプロパティまたはメソッド「assign」をサポートしていませんenter image description here

これは私の。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);

私のプロジェクトのどこでも

私のプロジェクトで機能するポリフィルが必要です。

19
Ayesha Mundu

Babel Polyfill が必要です。

エントリーJSファイルにインポートするか、Webpackを使用します。

import "babel-polyfill";

またはwebpack.config.js

module.exports = {
  entry: ["babel-polyfill", "./app/main"]
}

注:babel-polyfill一番上にインポートする必要があります。そうでない場合は動作しません

28

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'] },
7
Tim Gerhard