Дифференциальная порция と 言う 技術 は 実は もう 2 年 ほど 前 から Philip Walton さん の 記事 を きっかけ に 知る ぞ知る ぞ知る せる の の バンドル サイズ んです けど この テーマ も も 記事 は ので 書き まし の つもり つもり で を ましまし よろしく お願い し ます!
何 の ため の 技術 です か?
今 で も IE 11 の サポート を 切れ ます ない は ほとんど を 思い て いる 人 人 ほとんど ブラウザー に に まで まで 起動 よう に に に に に に に に し に て し てし いる と 思い ます.
しかし, то есть 11 の ため に する する Polyfills や や や で コード コード を 来る どうして も 必要 に なっ て て 重く は ビルド さ れ バンドル バンドル 重く 重くし
どれ ぐらい 重く なる なる と 言う 言う の は コード 次第 です 体 体 体 の 体 から コード 次第 です 体体 20% から 30% まで に なり ます.
Shubham Kanodia さん が この 記事 で いくつ か の ライブ ラリー を テスト し まし た た た た た
しかも, ユーザー 全体 の ほぼ 90% が Модули ES に 対応 し て い ます! つまり, 10% の ユーザー の ため に 90% の ユーザー に て い コード のコード.
それでも その 10% の ユーザー を 切れ ない アプリ アプリ 多い と 思い ます ない て こう 良く に 対応 し て いる コード だけ その さめ さめ さめ コード ない ための
実は あり ます, これ から それ を 紹介 し ます ます.
もの 凄く 簡単 に 言う と これ です です
.
- IE11 など の Наследие ブラウザー の の の に に コンパイル さ れ た バンドル.
- 最新 ブラウザー 用 の ES Модули に コンパイル さ れ た た.
ここ で 重要 な の は Nomodule
と Тип = "Модуль"
です, これら を 使っ コード の の ブラウザー に 判断 任せ 任せ ロード か の 判断 判断 任せ 任せ 任せ 任せする
って 何 です か?
Nomodule
は Сценарий
タグ の 属性 で модули に 対応 し て する ブラウザー 示し この を を する する に に 示し ます 示し 無視 よう に 示し 示し 示し 示し 示し 示し 示し 示し 示し 示し 示し 示し 示し 示し 示し 示し 示し 示し 示し 示し 示し 示し 示し 示し 示し
Тип = "Модуль"
は 逆 に ブラウザー に コード は は は は は は は は ある ある こと を 示し ます.
これら を 合わせ た サンプル は これ です.
この コード を ES Модули に 対応 し て いる ブラウザー で 見る なり なり ます ます.
見 て の 通り Тип = "Модуль"
に なっ て いる コード だけ を ダウンロード し て 実行 し ます し て 実行 しし.
そして, こちら の サンプル を を IE 11 で 見る とこう なり ます ます.
見 て の 通り Nomodule
に なっ て いる コード だけ を 実 する する ます ます ね ね し て ます ますます …
そこ まで 簡単 に は 行か ない んです よ ね ね ね
先ほど の 例 も そうです けど, 実は Safari 10 や Firefox 58 や т.е. 11 や край 15-18 など は 両方 の コード を ダウンロード し ます.
でも これら は ほとんど Wi-Fi でしか 使わ ない ない ブラウザー ブラウザー だ から 思わ れ がち がち です タチ 悪い こと に がち がち に に に に する する する だけでなく ますますますますますます …
Джон Туго さん は こちら で いくつ か の テスト を っ を た て ください ください ください ください ください ください ください ください ください 。
Safari 10 の この 記事 を 書い て は は で で ユーザー の は は 1% 以下 ではあり ます が できる だけ の ユーザー に な な たい これよ
じゃもう 手詰まり?
実は 記 の の ブラウザー の ます を 解決 できる を 都合 良く て くれる は は すでに な な 気 気 に は は すでに な 気 い にに
ツール は 何 を し て い ます か?
.
これ は 利利 できる 範囲 の の の の の の の の の の の の Safari 10 を 見つけ て その に module と nomodule の Скрипт が 両方 実行 さ れ ない よう に 働きかけ ます.
詳しく は こちら の Gist を 見 て ください.
これ は あくまで 一 一 つ まだ まだ 方 ブラウザー ブラウザー が まだ ダウンロード ことになり の 中 中 中 中 中 中 中 中 中 中 中 中 中 ます ます 中 もの 中 ます ます ます ます ます もの もの ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ます ますもの Отказ
Vue cli 3+ の 場合
Vue cli を 使っ て いる なら 話 は すごい 簡単 です, ビルド 段階 で フラグ を 一つ 追加 する だけ で 済み ます ます ます ます ます ます ます ます 。
vue-cli-service build --modern
WebPack の 場合.
WebPack を 使っ て いる なら もう 少し 少し 設定 を いじる は あり ありあり.
- この 2 つ の プラグイン の 内 から 1 つ を インストール し ます.
- 次 に WebPack で で で 用 の 設定 と と 用 用 設定 を 意 し し ます. こちら 設定 を の し し「. こちら 設定 を の し 「「. Дифференциал, обслуживающий Джон Стюарт · 1 мая 19 мая · 4 мин прочитайте #javascript #performance #webdev
- ➁ で ビルド し た バンドル を ➀ の プラグイン に 入れ ます ます ます
Rollup の 場合.
Скатать では Rollupp-плагин-индекс-HTML を 使え ば 簡単 に でき ます.
こちら は 性能 が 良く 良く さ で 問題 は まで 解決 できる に て まで い 解決解決
使い 方 は 先ほど の WebPack の 使い 方 に 似 て い ます.
Веб-компоненты で プロジェクト を 作っ て いる なら, 先ほど の プラグイン を 内部 で 使っ て いる Открыть WC の 設定 が おすすめ です.
Веб-компоненты の プロジェクト で なく て も と の 設定 が 参考 に なる と 思い思い
最後 に.
Дифференциал обслуживает は が 個 て ます おく おく まだ まだ まだ ます ブラウザー ブラウザー ブラウザー まだ まだ ブラウザー ブラウザー ブラウザー を を を を を 使っ 使っ て せ られ もっと いい を を せ せ ます ます いい いい を さ せ られせ . いわゆる 「Win Win」 な 話 です.
もっと 知り たい 人 に は (全て 英語 の 記事 です み ませ ん мм)
- https://philipwalton.com/articles/deploying-es2015-code-in-production-today/
- https://github.com/johnstew/differential-serving
- https://www.smashingmagazine.com/2018/10/smart-bundling-legacy-code-browsers/
- https://css-tricks.com/differential-serving/
- https://dev.to/thejohnstew/differential-serving-3dkf
Оригинал: “https://dev.to/alangdm/differential-serving-2-23eg”