我遵循了本教程: Integrating Google Maps in Angular 5,以使用Visual Studio代码(在Mac上为1.24.1版)在Angular 5应用程序中开始使用Google Maps。直到最近一切都运转良好,但是自几天前以来(我猜是在后台对VS Code进行了更新),我在Visual Studio Code中导入Google Maps时遇到错误,以前从未给我错误:
import { } from '@types/googlemaps';
我收到以下错误:
File 'full_path/node_modules/@types/googlemaps/index.d.ts' is not a module.
(请注意,full_path是完整的父路径,为简洁起见,此处未显示)
我可以看到该库位于我的node_modules目录中的正确位置。另外,在我的package.json(版本3.30.10)中正确引用了该库。在运行时和开始出现错误之间,我没有运行npm update或任何其他更新。
当我运行“ npm start”或“ npm run build”时,它运行良好,并且可以像以前一样处理应用程序(并且Google Map呈现完美),因此这似乎是Visual Studio Code问题。 / p>
从这个意义上说,它并没有真正地阻止我,但是将错误从我的IDE中清除将是一件很不错的事情。是否有人对如何消除错误有任何指示?谢谢!
编辑 我在这里阅读:How to install TS typings for Google maps,有两种可能的解决方案。三斜杠指令或更改您的tsconfig.json。对我而言,只有三斜杠指令有效:
/// <reference path="<relevant path>/node_modules/@types/googlemaps/index.d.ts" />
我仍然可以对真正的修复感兴趣,因为我可以导入Google Maps类型。
答案 0 :(得分:1)
仅在.component.ts文件顶部的下一行使用,对我有用。
/// <reference types="@types/googlemaps" />
MY 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"
]
}
}
我的@ types / googlemaps版本-"@types/googlemaps": "^3.30.11",
我的@ angular / core版本-"@angular/core": "^6.1.0",
不要在下面的行中使用(有些回答建议使用任一行)早些时候,当我使用angular 6.0.0时,它们可以使用这些,但是当我升级时,它不是:-
import { } from 'googlemaps';
import { } from '@types/googlemaps';