wake-up-neo.com

Visual Studio-Code: node_modules/@types/googlemaps/index.d.ts 'ist kein Modul

Ich folgte diesem Tutorial: Integrieren von Google Maps in Angular 5 , um Google Maps in meiner Anwendung Angular 5 mit Visual Studio Code (Version 1.24.1 auf Mac) zu starten. Bis vor kurzem funktionierte alles einwandfrei, aber seit ein paar Tagen (ich vermute, dass ein Update von VS Code im Hintergrund stattgefunden hat) erhalte ich einen Fehler beim Import von Google Maps in Visual Studio Code, der mir noch nie einen Fehler gab:

import { } from '@types/googlemaps';

Ich erhalte folgende Fehlermeldung:

File 'full_path/node_modules/@types/googlemaps/index.d.ts' is not a module.

(Hinweis full_path ist der vollständige übergeordnete Pfad, der hier aus Gründen der Kürze nicht angezeigt wird.)

Ich kann die Bibliothek an der richtigen Stelle in meinem Verzeichnis node_modules sehen. Auch die Bibliothek wird in meiner package.json (Version 3.30.10) korrekt referenziert. Ich habe kein npm-Update oder ein anderes Update ausgeführt, wenn es funktionierte und wann der Fehler ausgegeben wurde.

Wenn ich "npm start" oder "npm run build build" starte, funktioniert es einwandfrei und die Anwendung wird wie zuvor bedient (und die Google Map wird perfekt dargestellt), so dass es sich um ein Problem mit Visual Studio Code handelt.

In diesem Sinne blockiert es mich nicht wirklich, aber es wäre schön, den Fehler aus meiner IDE zu bekommen. Hat jemand irgendwelche Hinweise, wie der Fehler beseitigt werden kann? Vielen Dank!

EDIT Ich habe hier gelesen: Wie installiere ich TS-Typisierungen für Google Maps dass es zwei mögliche Lösungen gibt. Eine Anweisung mit drei Schrägstrichen oder das Ändern Ihrer Datei tsconfig.json. Für mich funktionierte nur die Triple-Slash-Direktive:

/// <reference path="<relevant path>/node_modules/@types/googlemaps/index.d.ts" />

Wäre immer noch an einem echten Fix interessiert, bei dem ich einfach die Google Maps-Typen importieren kann.

6

Verwenden Sie nur unter der Zeile oben in Ihrer .component.ts-Datei. Es funktioniert für mich.

/// <reference types="@types/googlemaps" />

MEINE tsconfig.json 

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ]
  }
}

MY @ types/googlemaps Version - "@types/googlemaps": "^3.30.11",

Meine @ Winkel-/Kernversion - "@angular/core": "^6.1.0",

verwenden Sie nicht die folgenden Zeilen (einige Antworten empfehlen eine der beiden) Früher, als ich eckig 6.0.0 verwendete, funktionierte es mit diesen, aber als ich ein Upgrade durchführte, tat es nicht: - 

import { } from 'googlemaps'; 
import { } from '@types/googlemaps';
1
Kewin Fernando