我正在使用this guide将我的应用程序从Ionic 2.0.0-beta.20升级到Ionic 2.0.0-rc.3

我试图弄清楚如何typings

我利用了this,它具有typings

在较早的Ionic版本(Ionic 2.0.0-beta.20)中,它有一个名为typings的文件夹

npm - Ionic 2升级在哪里放置打字-LMLPHP

它包含所有typings,但是在新版本(Ionic 2.0.0-rc.3)中,没有typings文件夹。

新版本中所有类型的输入都在哪里?

Thers是新版本tjat中的src/declarations.d.ts,仅包含以下内容:

/*
  Declaration files are how the Typescript compiler knows about the type information(or shape) of an object.
  They're what make intellisense work and make Typescript know all about your code.

  A wildcard module is declared below to allow third party libraries to be used in an app even if they don't
  provide their own type declarations.

  To learn more about using third party libraries in an Ionic app, check out the docs here:
  http://ionicframework.com/docs/v2/resources/third-party-libs/

  For more info on type definition files, check out the Typescript docs here:
  https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html
*/
declare module '*';

在我的代码中,有以下内容:
import { Chat, Message } from 'api/models';

在旧版本中,它按预期引用了typings/models.d.ts。但是在新版本中,它引用了src/declarations.d.ts(没有定义)。

更新

在RC3中,我可以在哪里定义键入对象?

models.d.ts
declare module 'api/models' {
  interface Chat {
    _id?: string;
    memberIds?: string[];
    title?: string;
    subTitle?: string;
    picture?: string;
    lastMessage?: Message;
    lastMessageCreatedAt?: Date;
    receiverComp?: Tracker.Computation;
    lastMessageComp?: Tracker.Computation;
  }

  interface Message {
    _id?: string;
    chatId?: string;
    senderId?: string;
    ownership?: string;
    content?: string;
    createdAt?: Date;
    changeDate?: boolean;
    readByReceiver?: boolean;
  }
}

最佳答案

rc-3中不使用打字。
所有类型声明都在npm中。
安装完成为npm install @types/package_name您可以检查node_modules / @ types文件夹。
用于添加类型模块的链接:
docs



discussion

10-06 11:48