1

私は6to5トランスパイラーを使用しています。コードで Object.assign() を使用しようとすると、次のエラーが発生しますUncaught TypeError: Object.assign is not a function。この機能を有効にするにはどうすればよいですか?

4

2 に答える 2

3

6to5 が Babel に名前が変更された最新のリリースでは、これを行う必要がなくなりました。ポリフィルを使用するように構成するか、ランタイムをロードすることができます。これは私がgulpで設定した方法です:

browserify({debug : true})
.transform(

    // We want to convert JSX to normal javascript
    babelify.configure({

        // load the runtime to be able to use Object.assign
        optional: ["runtime"]
    })
);

使用するツールに関係なく、構成はかなり似ているはずです。パッケージをスタンドアロンで使用すると、次のようになります。

require("babel").transform("code", { optional: ["runtime"] });

のドキュメントを参照できますruntime。ただし、babel の最新バージョンに更新することを忘れないでください。非常に頻繁に更新されます。

于 2015-03-09T16:34:36.753 に答える
1

browser-polyfill.js次のファイルを含める必要があります。

browser-polyfill.jsnpm リリースの 6to5 ディレクトリ内のファイルから入手できます。これは、コンパイルされたすべての 6to5 コードのに含める必要があります。コンパイル済みコードの先頭に追加するか、その前に含めることができます<script>

requirebrowserifyなどを介してこれを行うのではなく、を使用してください6to5/polyfill

http://6to5.org/docs/usage/polyfill/

于 2015-02-08T22:43:28.967 に答える