👻

webpackでPromiseを使用する(IE対策)

に公開

前提

webpackを使用している。※webpackとは

webpack使用していなくても、解決策2なら問題ない

問題

非同期通信で使用するPromiseに関して、IE,Edgeでは使用できない。

解決策1(本題)

es6-promiseをインストールし、bundle.jsに含めた形にする。 これにより、CDNを使用する必要がなくなる。

npm install es6-promise

const config = {
entry:{...},
plugins: [
new webpack.ProvidePlugin({
Promise: 'es6-promise',
}),
],
}

解決策2

手っ取り早く、HTMLにスクリプト読み込むように設定。


<script src="https://www.promisejs.org/polyfills/promise-7.0.4.min.js"></script>
<script src="assets/js/bundle.js" type="text/javascript"></script>

使い方

MDN公式リンク

new Promise(function(resolve,reject){});

さいごに

全てのHTMLファイルに、CDN使用するように書くと、手間だったので、改善できてよかったです。 webpack便利ですね。

何か間違っている箇所があれば、ご教示よろしくお願いします。

GitHubで編集を提案

Discussion