在 ionic 3 应用程序中找不到命名空间“google”

Posted

技术标签:

【中文标题】在 ionic 3 应用程序中找不到命名空间“google”【英文标题】:Cannot find namespace 'google' in ionic 3 app 【发布时间】:2018-02-26 02:47:51 【问题描述】:

在我尝试在我的项目中使用 google 变量后,我在 ionic 3 应用程序中遇到了这个错误,谁能帮我解决这个错误,

npm install --save @types/google-maps

在我的 package.json 中添加了以下内容:

"@types/google-maps": "^3.2.0",

我也确实声明了 declare var google;

然后typings install dt~google.maps --global

然后我看到了这个灵魂并尝试了它,但也没有用(注意我生成了一个 ios 密钥和 android 密钥) 试过这个 Cannot find namespace 'google'

离子科尔多瓦插件添加 https://github.com/mapsplugin/cordova-plugin-googlemaps#multiple_maps --variable API_KEY_FOR_ANDROID="YOUR_ANDROID_API_KEY_IS_HERE" --variable API_KEY_FOR_IOS="YOUR_IOS_API_KEY_IS_HERE" $ npm install --save @ionic-native/google-maps

我的 map.ts 的要点就是拍摄这个错误:

https://gist.github.com/abdulfatah-ah1407281/25bc95352d0b1ba8e02b7d1e55cc7779

运行 ionic serve 时出错:

Cannot find namespace 'google'.
C:/Users/pkhon/Desktop/k/ItBroken/src/components/map/map.ts
private map: google.maps.Map;
public isMapIdle:boolean;

【问题讨论】:

【参考方案1】:

你没有提到它,但我猜你是在 Windows 上。您正在使用 ionic,并且在某些情况下存在平台差异(不确定谁负责,离子或打字稿),其中相同的 tsconfig.json 文件将在 macos(可能还有 linux)上运行,但在 windows 中不显式添加typeRoots 进入你的compilerOptionstsconfig.json,像这样:

// tsconfig.json

  "compilerOptions": 
    // ... other stuff
    "typeRoots": [ 'node_modules/@types' ]
  
  // ... other stuff

【讨论】:

以上是关于在 ionic 3 应用程序中找不到命名空间“google”的主要内容,如果未能解决你的问题,请参考以下文章

在 mapActions() 中找不到 vuex 模块命名空间:taskModule/?

在链配置的命名空间 App\Entity [Symfony 5.3][PHPUnit 8.5] 中找不到类 Mock_*

链接器在命名空间中找不到函数定义

MVC项目中找不到DbContext命名空间

C++ 在命名空间中找不到函数

在命名空间/头文件中找不到类