首页 > 解决方案 > 在角度中找不到命名空间

问题描述

在此之后:=> https://cesium.com/blog/2018/03/12/cesium-and-angular/

我的 typing.d.ts => 中有一个全局变量

declare var Cesium;

我的 tsConfig 包含 =>

"typeRoots": [
  "node_modules/@types",
  "./src/typings.d.ts"
],

现在,在我的指令中,我有以下内容

import { Directive, ElementRef, OnInit, Input, Output} from '@angular/core';
import * as CesiumLib from '../libs/cesium.lib';

@Directive({
  selector: '[appCesium]'
})
export class CesiumDirective implements OnInit {
  @Input() appCesiumOptions: CesiumLib.CesiumViewerOptions;
  @Output() appCesiumViewer: Cesium.Viewer;

  constructor(private el: ElementRef) {
    Cesium.Ion.defaultAccessToken = CesiumLib.CESIUM_ACCESS_TOKEN;
  }

  ngOnInit() {
    const appCesiumViewer = new Cesium.Viewer(this.el.nativeElement, this.appCesiumOptions);
  }
}

线

const appCesiumViewer = new Cesium.Viewer

工作正常,没有错误,但线

@Output() appCesiumViewer: Cesium.Viewer;

给我以下

找不到命名空间“铯”。

我也尝试制作一个结构,但我有同样的错误

我究竟做错了什么?

标签: angular

解决方案


以下对我有用。

首先,安装包例如时刻。

npm install moment --save

然后,要解决缺少正确导出的问题:

从“时刻”导入*作为时刻;

注意:import * as moment from 'moment';格式很重要

import * as aliasname from 'packagename';

推荐阅读