かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

Vue CLI 3 で作った TypeScript のプロジェクトを IE11 対応しよう

npm run build したものを IE11 で開くと Vue Router とかを有効にするだけで Promise がないって言われる…

f:id:okazuki:20191007122843p:plain

ということで以下のページを参考にやってみた。

qiita.com

個別 Polyfill はつらいのでざくっとやっていきます。 プロジェクトを作るときは TypeScript, babel, Vue Router あたりを有効にして作りました。

babel.config.js を以下のように変更。

module.exports = {
  presets: [
    ['@vue/app',
      {
        useBuiltIns: 'entry'
      }
    ]
  ],
}

tsconfig.jsonlibes2017 を追加

"lib": [
  "esnext",
  "dom",
  "dom.iterable",
  "scripthost",
  "es2017" // これね
]

src/main.ts に以下の import を追加

import '@babel/polyfill';

そして、npm run build して IE11 で開くと…

f:id:okazuki:20191007123529g:plain

動いたね!