typescript错误使用google.maps - 'google'是未定义的

zd287kbt  于 2023-02-10  发布在  TypeScript
关注(0)|答案(1)|浏览(129)

我在package.json中有以下内容

"@types/google.maps": "~3.48.3",

//在我的tsx文件中,顶部的第一行是

/// <reference types='google.maps' />

但在访问谷歌MapMapMouseEvent -我得到错误'谷歌'是没有定义。行980:43:'google'未定义no-undef
第980行是

onMarkerDragEnd = async (mapMouseEvent: google.maps.MapMouseEvent) => {

//我也试过

/// <reference path='../../../../node_modules/@types/google.maps' />

//我也在tsconfig.json中尝试过

"compilerOptions": {
    "types": [
      "google.maps"
    ]
  }

但错误仍然存在。我正在使用

react-app-rewired build

寻找任何关于如何在 typescript 中使用@types/google.maps的提示。

8ulbf1ek

8ulbf1ek1#

no-undef实际上是一个eslint错误,可通过www.example.com修复https://eslint.org/docs/user-guide/configuring/language-options#specifying-globals

{
    "globals": {
        "google": "readonly"
    }
}

使用最新版本的typescript,您的package.json中除了以下内容外,不需要任何其他内容。

devDependencies: {"@types/google.maps": ...}

安装时:

npm install -D @types/google.maps

没有三斜杠引用,没有导入,没有compilerOptions.types。
有关示例,请参见https://codesandbox.io/embed/github/googlemaps/js-samples/tree/sample-marker-simple

相关问题