143
125

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AidemyAdvent Calendar 2018

Day 5

polyfill.io が便利すぎた

Last updated at Posted at 2018-12-04

2019-03-28 追記

@babel/polyfill を import しとくだけでいいんじゃないかというマイブームが来ています。

IE で Array.prototype.flatMap() は使えた。詳しくは知らない。

TL;DR

index.html に下の 1 行を追加しただけ1 で各種ブラウザ対応終わった。

+  <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>

IE 対応

社内で真面目に IE 対応する雰囲気が出てきてしまってどうしようかと思ってたところ noteをNuxt.jsで再構築した話 を思い出したので、とりあえず polyfill.io 入れてみようかってことで入れてみた。

Polyfill.io reads the User-Agent header of each request and returns polyfills that are suitable for the requesting browser.
(Polyfill.ioは、各リクエストの User-Agent ヘッダーを読み取り、要求元のブラウザに適した polyfills を返します。)

便利すぎかよ。

こういうことね。すごい。

src の後ろで ?features= に続けてポリフィルしたい機能を指定することができるので、ソースコードの中で使ってる機能に限定してポリフィルすることもできる。こうすることで余計に大きなファイルはロードしなくて済むのでファイルサイズの最適化ができそう。
だけど、そんなの features の中から選んでちまちま指定するの嫌だったし、どこまでポリフィルしてるかを気にせずにコードを書いていきたかったし、polyfill.js は CDN (Fastly) から配信されるのでどうせ速いしパフォーマンスは誤差やろ(計測しろや)と思ったので、今回はグループエイリアス es6 とだけ書いて祈ることにした(便利)

IE 対応、javascript に関してはもうこれに任せて安心して寝たい気持ちがある。

もしかしたらポフィリル自体が低品質だったせいで結局うまく動作しないってことがあるかも知れないけど、今回は対応コスト超〜低めでやれたんで、あとは何か起きたときの自分のカバー力に託したいと思います。それでは、おやすみなさい。

  1. うちは React 製 SPA なので

143
125
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
143
125

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?