2017-09-12 8 views
0

IE8をサポートしなければならない大きなプロジェクトでWebpack 2を使いたいです。IE8をサポートするWebpack 2を取得する

babel-preset-envがインストールされていますので、このプロジェクトで各ブラウザがサポートされなくなると、IE < 11を今後、1台ずつ簡単に廃止することができます。

babel-preset-env readmeによると、「IE 8とChrome 55をターゲットにしている場合、[babel-preset-env]にはIE 8で必要なすべてのプラグインが含まれます。

私が理解しているように、IE5シム用のほとんどの場合babel-polyfillをインストールする必要がありますが、使用したいかもしれないES6と7機能用のポリフィルもあります。

これらのものをインストールしたにもかかわらず、私のコードは、Object.defineProperty(__webpack_exports__, "__esModule", { value: true });が最初に実行された時点で(Browserstack内の)IE8で引き継がれます。私が思った機能は、シムによって「固定」されていた。

正しくシミングされていませんか?私はステップを逃したのですか?

答えて

0

前と同じ問題がありましたが、私が解決したのはこれです。 ES6機能で

クラスがgetでプロパティを定義し、フィールドをカプセル化するように設定することができます。

IE8では気にしません。

のDefineProperty方法がsee the docs,

がサポートされていないため、私たちは以下の

let val1; 

class className { 

    methodName() { 
     this.val2 = 'test'; 
     //code here 
    } 

    getVal1() { 
     return val1; 
    } 

    setVal1(_val1) { 
     val1 = _val1; 
    } 

    getVal2() { 
     return this.val2; 
    } 

    setVal2(_val2) { 
     this.val2 = _val2; 
    } 
} 

module.exports = className; 

好きに全体のコードパターンを変更し、私はあなたのWebPACKに「es3ify」see the link,github es3ifyを追加すると、IE7/8用にビルドすることをお勧めします

関連する問題