web-dev-qa-db-ja.com

エッジがES6モジュールをロードしていません

MicrosoftEdgeがES6モジュールをロードしません。他のすべてのブラウザ(Opera、Safari、Chrome、Firefox)はそうします。

それらはすべて正常にダウンロードされますが、実行されません。モジュール以外のファイルしか表示されません。また、コンソールはエラーを報告しません。

Windows10でEdge17.17134を使用しています。

このページ ビルド番号16299以降のMicrosoftEdgeがES6モジュールをサポートしていることを示しています。上記のバージョン情報からわかるように、ビルド番号は17134なので、それらをサポートしている必要があります。

enter image description here

私のページには、次の3つのスクリプトが含まれています。

<script src="/Scripts/my/IfIE.js"></script>
<script src="/Scripts/my/sathyaish.js" type="module"></script>
<script src="/Scripts/my/index.js" type="module"></script>

それはそれらをすべてうまくダウンロードします:

enter image description here

ただし、デバッガーにはモジュール以外のスクリプトのみが読み込まれます。

enter image description here

7
Water Cooler v2

同じ問題が発生しました(他のブラウザーは問題ありませんが、Microsoft Edge(44.18362.387.0)は問題なく、コンソールにエラーはなく、すべての.jsファイルが[ネットワーク]タブに問題なく読み込まれます)。さらに調査したところ、問題はモジュール自体のロードにあるのではないことがわかりました。モジュールを使用した「Helloworld」の例はEdgeで正常に機能し、その後、問題を引き起こす可能性のあるスクリプトの部分を削除し始めました。私の場合、それはマップオブジェクトのインスタンス化でした。

 export default class A {
       static B = new Map();
       static C = new Map();

交換後

export default class A {

    constructor() {
        A.B = new Map();
        A.C = new Map();
    }

すべてがうまくいきました。したがって、スクリプトを変更できる場合は、Edgeでもスクリプトを機能させることができます。

0
Andrei Prakhov