angular2 meteor-ionic-不能将命名空间Observable用作类型

angular2 meteor-ionic-不能将命名空间Observable用作类型,angular,typescript,meteor,ionic2,Angular,Typescript,Meteor,Ionic2,我在尽我最大的努力不去憎恨我所有的人。本教程使用了Typescript、Angular2和Ionic这三种工具,我并不完全理解,但这就像。。。为什么我首先要做一个教程。我在web开发方面的经验是使用Django的2.0版本,还有很多前端,所以我对Javascript非常了解,但这让我感到困惑 以下是相关代码: // chats.ts import { Component } from '@angular/core'; import * as Moment from 'moment'; impor

我在尽我最大的努力不去憎恨我所有的人。本教程使用了Typescript、Angular2和Ionic这三种工具,我并不完全理解,但这就像。。。为什么我首先要做一个教程。我在web开发方面的经验是使用Django的2.0版本,还有很多前端,所以我对Javascript非常了解,但这让我感到困惑

以下是相关代码:

// chats.ts
import { Component } from '@angular/core';
import * as Moment from 'moment';
import { Observable } from 'rxjs/Observable';
import { Chat, MessageType } from '../../../../imports/models';

import template from './chats.html';

@Component({
    template
});

export class ChatsPage {
    chats: Observable<Chat[]>;

    constructor() {
        this.chats = this.findChats();
    }

    private findChats(): Observable<Chat[]> {
        return Observable.of([
            {
                _id: '0',
                title: 'Ethan Gonzalez',
                picture: 'https://randomuser.me/api/portraits/thumb/men/1.jpg',
                lastMessage: {
                  content: 'You on your way?',
                  createdAt: Moment().subtract(1, 'hours').toDate(),
                  type: MessageType.TEXT
                }
            },
     // dummy data here
当我运行Meteor时,会出现以下错误:

client/imports/pages/chats/chats.ts (13, 12): Cannot use namespace 'Observable' as a type.
client/imports/pages/chats/chats.ts (19, 26): Cannot use namespace 'Observable' as a type.
client/imports/app/app.components.ts (14, 27): Cannot use namespace 'Platform' as a type.

FWIW在这一点上:当我没有安装
node_模块时,我可以重现原始错误。即使在我安装了它们之后,看起来barbatus:typescript构建插件有缺陷,并且不会使其缓存失效,因此它仍然显示原始错误。如果删除
.meteor/local/.typescript缓存
,则会识别已安装的
节点\ u模块
。总的来说,我不相信barbatus:typescript(它试图变得聪明,做了太多复杂的事情,最终导致了问题),但我没有一个替代品,我可以推荐在这一点上通用。如果你愿意,你可以去看看barbatus是否会解决这个问题

无法使用命名空间。。。作为类型
错误似乎是您的
声明.d.ts
文件执行
声明模块'*'的结果。这个错误对我来说没有意义,所以我提出了申请。

这对我来说很有效

从'rxjs'导入{Observable}
而不是

从'rxjs/Observable'导入{Observable}

您是否再次尝试运行
npm安装
?如果没有,请立即尝试。@DiegoCardozo它不起作用,但它确实留下了一堆消息,说明
@angular/某些软件包需要rxjs@^6.0.0对等版本,但没有安装任何
。我试过
npm安装rxjs
(应该已经可以使用了),现在它有一堆不同的消息。我将尝试安装所有这些工具,看看是否有变化anything@DiegoCardozo不。还是没什么。相同的错误扫描您使用当前设置发布存储库,以便我可以重现问题?这比我自己重新创建你的设置要容易得多。@MattMcCutchen:谢谢。知道不是我疯了,而是一只真正的虫子让人感到安慰。我想知道是否有其他选择。本教程说,需要declarations.d.ts来支持不支持typescript的第三方LIB。我不明白为什么这对我来说是新的,但我想我需要这个文件声明模块“…”语句。
client/imports/pages/chats/chats.ts (13, 12): Cannot use namespace 'Observable' as a type.
client/imports/pages/chats/chats.ts (19, 26): Cannot use namespace 'Observable' as a type.
client/imports/app/app.components.ts (14, 27): Cannot use namespace 'Platform' as a type.