77 votes

@ types / googlemaps / index.d.ts 'n'est pas un module

Je veux utiliser l'API Google Maps avec mon Angulaire du projet, j'ai donc utilisé ces deux commandes pour installer les packages npm:

npm install @agm/core --save-dev
npm install @types/googlemaps --save-dev

J'ai ajouté cette ligne dans mon composant:

import {} from "@types/googlemaps";

Mais je vois que ces 2 erreurs dans VS Code:

[ts] File 'h:/Angular Projects/Breakfast/client/breakfast/node_modules/@types/googlemaps/index.d.ts' is not a module.
[ts] Cannot import type declaration files. Consider importing 'googlemaps' instead of '@types/googlemaps'.

J'ai ajouté ces lignes

"types": ["googlemaps"]
"moduleResolution": "node"

pour tsconfig.json et tsconfig.spec.json, mais toujours pas de chance. Sur Chrome Dev Tools, je vois l'erreur ci-dessous:

Error: Uncaught (in promise): TypeError: Cannot read property 'Autocomplete' of undefined
TypeError: Cannot read property 'Autocomplete' of undefined

Angulaire de la version 6 Tapuscrit Version 2.9.2

J'ai essayé de Angulaire 5, trop.

144voto

Cétia Points 4347

Grâce à cette documentation lien : https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html

[Angulaire 6+] Vous n'avez qu'à ajouter cette ligne au début (le sens de la ligne 1, avec rien avant) de votre Tapuscrit de fichier :

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

[Angulaire 5-] Vous n'avez qu'à ajouter cette ligne dans votre fichier d'enregistrement de fichier importations :

import {} from "googlemaps";

Merci pour la réponse ci-dessous, vous pouvez également avoir besoin d'ajouter un fichier <root>/index.d.ts contenant (n'en avais pas besoin mais dans mon cas) :

declare module 'googlemaps';

38voto

Steve Paul Points 135

L'importation peut être simplifiée comme suit:

import {} from "googlemaps";

Créer un fichier à vos projets répertoire racine nommée index.d.ts et collez le texte suivant:

declare module 'googlemaps';

Le fichier doit être situé dans le répertoire src le dossier

J'ai trouvé cet article sur ce qui est le but de ce fichier

https://www.bennadel.com/blog/3169-adding-custom-typings-files-d-ts-in-an-angular-2-typescript-application.htm

16voto

Dans mon projet Angular 7+

$ npm install @types/googlemaps --save-dev
Dans tsconfig.app.json

 "types": [
      "googlemaps"
]
 

Merci le lien ci-dessous https://www.freakyjolly.com/angular-7-6-add-google-maps-in-angular-2-plus-applications-using-angular-google-maps-module-agm-core -facilement / # plus-2316

13voto

Cool Coder Points 129

Je viens de créer un index.d.ts dans mon dossier src et j'ai ajouté

déclarer le module 'googlemaps';

Cela a résolu le problème

11voto

Ça fonctionne bien

 npm install --save-dev @types/googlemaps
At the beggining of your component file, type:
/// <reference types="@types/googlemaps" />
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X