Typescript 2 + Angular googlemaps 打字稿定义

Posted

技术标签:

【中文标题】Typescript 2 + Angular googlemaps 打字稿定义【英文标题】:Typescript 2 + Angular googlemaps typescript definitions 【发布时间】:2017-11-15 16:17:09 【问题描述】:

我创建了一个简单的 Angular 4/Typescript v2.1.6 应用程序。 我正在尝试使用指定的 googlemaps 打字稿定义(.d.ts 文件) https://www.npmjs.com/package/@types/googlemaps

我运行了命令

npm install --save @types/googlemaps

然后在我的 app.component.ts 中

import * as googlemaps from "googlemaps";

当我执行时

npm start

我收到以下错误

error TS2306: File '/home/dev/project/node_modules/@types/googlemaps/index.d.ts' is not a module.

我的 tsconfig.json 文件位于 src 文件夹中,node_modules 文件夹与 src 处于同一级别,即:

/home/dev/project
  |_src
    |_app/
    |_tsconfig.json
  |_node_modules/
    |_@types/
      |_googlemaps/

tsconfig.json 的内容如下。 (我也尝试过不使用 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"
    ]
  

我可以确认文件 index.d.ts 也存在于 node_modules/@types/googlemaps/index.d.ts 位置

我无法弄清楚我错过了什么?

【问题讨论】:

【参考方案1】:

我安装了旧版本的 Typescript,它工作正常!!

我有 typescript 2.9 并安装了 2.6,因为新版本验证了模块的差异。或类似的东西。

npm install typescript@2.6.2

希望能帮到你。 问候。

【讨论】:

以上是关于Typescript 2 + Angular googlemaps 打字稿定义的主要内容,如果未能解决你的问题,请参考以下文章

Angular 2 Typescript 编译错误

带有 Ionic 2 Angular 2 和 TypeScript 的 OpenPGP

如何部署我的 Angular 2 + Typescript + Webpack 应用程序

Angular 2+:如何在 Angular 的 Typescript 组件中解析 json 数据

如何使用 TypeScript 在我的 Angular 2 组件中声明模型类?

Angular 2\TypeScript 中 export 关键字的确切含义是啥?