web-dev-qa-db-ja.com

活字のエラー:「Googleの名前空間を見つけることができません

私はプロジェクトangular-cliを持っています

〜root〜/src/typings.json

{
  "globalDevDependencies": {
    "angular-protractor": "registry:dt/angular-protractor#1.5.0+20160425143459",
    "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
    "Selenium-webdriver": "registry:dt/Selenium-webdriver#2.44.0+20160317120654"
  },
  "globalDependencies": {
    "es6-shim": "registry:dt/es6-shim#0.31.2+20160602141504",
    "google.maps": "registry:dt/google.maps#3.20.0+20160914131659"
  }
}

〜root〜/typings/index.d.ts

/// <reference path="globals/angular-protractor/index.d.ts" />
/// <reference path="globals/es6-shim/index.d.ts" />
/// <reference path="globals/google.maps/index.d.ts" />
/// <reference path="globals/hammerjs/index.d.ts" />
/// <reference path="globals/jasmine/index.d.ts" />
/// <reference path="globals/Selenium-webdriver/index.d.ts" />

〜root〜/src/tsconfig.json

{
  "compilerOptions": {
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": ["es6", "dom"],
    "mapRoot": "./",
    "module": "es6",
    "moduleResolution": "node",
    "outDir": "../dist/out-tsc",
    "sourceMap": true,
    "target": "es5",
    "typeRoots": [
      "../node_modules/@types",
      "../typings"
    ],
    "files": [
      "../typings/index.d.ts"
    ]
  }
}

実行後ngserveコンソールにエラーメッセージが表示されます

[デフォルト]のエラーF:〜root〜\src\app\ui\google-map\map-marker\map-marker.directive.ts:7:26

名前空間 'google'が見つかりません

そして

[デフォルト]のエラー〜root〜\src\app\trip-entry-page\trip-entry-page.component.ts:188:21

名前「google」が見つかりません

〜root〜\src\app\ui\google-map\map-marker\map-marker.directive.ts:7:26

... 
@Input() veyoMapMarker: google.maps.MarkerOptions 
...

〜root〜\src\app\trip-entry-page\trip-entry-page.component.ts:188:21

... 
if (status === google.maps.DirectionsStatus.OK) { 
...

アプリをビルドした後、正しく機能します

このエラーメッセージを解決するにはどうすればよいですか?

5
mego4iter

応答が少し遅れましたが、Angular CLI RC.を使用して同様の問題が発生しました。

タイピングをインストールしてインポートしていなかったことが判明しました。これは次のように実行できます。

npm install --save-dev @types/googlemaps

import {} from '@types/googlemaps';
25
Stephen Paul

ノードプロンプトで以下のコマンドを実行してみてください...

typings install dt~google.maps --global --save
2
Ben Cameron

In IONIC 4インストールして修正しました@ types/google-maps not @ types/googlemaps

これを実行するだけです

npm install @types/google-maps --save

を使用してコンポーネントにgoogleをインポートします

import { google } from "google-maps";
0
Mab Kiani

angular 7.何もインポートする必要はありませんでした。もう一度npm install @types/googlemapsを実行し、脆弱性がある場合は、必要に応じてnpm audit fixまたはnpm audit fix --forceを実行します。

私がそうした後、すべてが私のためにうまくいきました...

0
Ahmed Shehatah

私は同じ問題に直面していました、そして私がしたことは、私はこれらを削除しただけです

import { } from 'googlemaps';
declare var google: any;

component.tsから、tsconfig.app.jsonに "types":["googlemaps"]を追加します。 。これで、私のtsconfig.app.jsonは次のようになります。

{
    "extends": "../tsconfig.json",
    "compilerOptions": {
        "outDir": "../out-tsc/app",
        "module": "es2015",
        "types": [
            "googlemaps"
          ]
    },
    "exclude": [
        "test.ts",
        "**/*.spec.ts"
    ]
}

そして、それは完璧に機能しています。

0
MaBbKhawaja