javascript - Typescript 2 + Angular definiciones de googlemaps en typescript
He creado una aplicación sencilla de Angular 4/Typescript v2.1.6. Estoy tratando de usar la definición de TypeScript de googlemaps (archivo .d.ts) como se especifica en https://www.npmjs.com/package/@types/googlemaps
Ejecuté el comando
npm install --save @types/googlemaps
Entonces en mi app.component.ts
import * as googlemaps from "googlemaps";
Cuando ejecuto
npm start
Recibo el siguiente error
error TS2306: File '/home/dev/project/node_modules/@types/googlemaps/index.d.ts' is not a module.
mi archivo tsconfig.json está en la carpeta src y la carpeta node_modules está al mismo nivel que src es decir:
/home/dev/project
|_src
|_app/
|_tsconfig.json
|_node_modules/
|_@types/
|_googlemaps/
El contenido de tsconfig.json es el siguiente. (También he probado sin las propiedades types/typeRoots)
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": [
"es2015",
"dom"
],
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true,
"typeRoots": [
"../node_modules/@types"
],
"types": [
"googlemaps"
]
}
}
Puedo confirmar que el archivo index.d.ts también existe en la ubicación node_modules/@types/googlemaps/index.d.ts
No puedo averiguar qué me falta.
Respuesta #1
¡Instalé una versión antigua de Typescript y funcionó!
Tenía TypeScript 2.9 y instalé la 2.6 porque la nueva versión valida los módulos de manera diferente. O algo similar.
npm install [email
Espero poder ayudarte. Saludos.
