👻
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>
使い方
new Promise(function(resolve,reject){});
さいごに
全てのHTMLファイルに、CDN使用するように書くと、手間だったので、改善できてよかったです。 webpack便利ですね。
何か間違っている箇所があれば、ご教示よろしくお願いします。
Discussion