如何在angular-cli 1.0.1 app中使用chrome-app.d.ts类型?

Phu*_*yen 3 typescript definitelytyped angular-cli angular

我安装了@ types/chrome并将其添加到tsconfig.app.json中

"types": [
  "chrome"
]
Run Code Online (Sandbox Code Playgroud)

但是当我chrome.app在组件中使用时,它会显示错误:

'typeof chrome'类型中不存在属性'app'

@ types/chrome文件夹包含chrome-app.d.ts是我需要的文件,我怎么能参考这个

来源https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/chrome

Fra*_* Li 7

由于此类型定义模块的创建者已选择不在模块chrome.app.*的index.d.ts文件中包含定义,@types/chrome而是将它们分开chrome-app.d.ts,您需要在使用这些API的文件中显式引用它:

/// <reference types="chrome/chrome-app"/>

请注意,根据TypeScript中的三重斜杠指令的文档,它必须位于文件的顶部:

https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html

还要注意的是,应该没有必要添加"types": ["chrome"]在您的参考tsconfig.json文件,为打字稿编译器的最新版本应该会自动导入中找到的所有分型定义模块node_modules/@types.通过将此添加到您的配置,您告诉它只导入该模块.有关此内容的更多信息,请参阅配置文档:

https://www.typescriptlang.org/docs/handbook/tsconfig-json.html