Nuxt + TypeScript + Google Maps API
問題発生
Nuxt + TypeScriptで、Google Maps APIを使おうとするとエラーに遭遇。
例えばこのようにgoogle.maps.*を使おうとすると
let map: google.maps.Map
このようにエラーが出る。
Cannot find namespace 'google'.
解決方法
@types/googlemaps Nodeパッケージをインストール
yarn add @types/googlemaps --dev
Nuxtプロジェクトのルートディレクトリにある tsconfig.json を修正。
"types": [ "@types/node", "@nuxt/types", "@types/googlemaps" これを追加 ]
これでエラーが出なくなりました。
ただGoogleではない第三者のDefinitelyTypedという組織がメンテナンスしていることに注意。この組織はいろんなライブラリの型定義のパッケージを作ってますが、精度が低いと指摘している記事も見かけました。
https://github.com/DefinitelyTyped/DefinitelyTyped#readme
でもGoogle本家のドキュメントで、このパッケージのインストールを紹介している。
https://developers.google.com/maps/documentation/javascript/using-typescript
大丈夫かな?問題が起きたらまた考えよう。