首页 > 解决方案 > Angular:使用@types/spotify-web-playback-sdk 时找不到命名空间“Spotify”

问题描述

我正在尝试在我的 Angular 项目中使用https://www.npmjs.com/package/@types/spotify-web-playback-sdk在我的一个组件中输入 spotify 播放器。我按照说明安装了类型...

npm install --save @types/spotify-web-playback-sdk

当我定义此类变量并将其键入到 SpotifyPlayer 时,Visual Studio 代码 linter 不会抱怨...

// class variable
spotifyPlayer: Spotify.SpotifyPlayer;

但是,当我去构建我的代码时,我得到了这个错误......

ERROR in src/app/components/header/header.component.ts:32:18 - error TS2503: Cannot find namespace 'Spotify'.

32   spotifyPlayer: Spotify.SpotifyPlayer;

我在用着 ...

Angular CLI: 9.1.0
Node: 10.15.1
OS: win32 x64

Angular: 9.1.0
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Ivy Workspace: Yes

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.901.0
@angular-devkit/build-angular     0.901.0
@angular-devkit/build-optimizer   0.901.0
@angular-devkit/build-webpack     0.901.0
@angular-devkit/core              9.1.0
@angular-devkit/schematics        9.1.0
@ngtools/webpack                  9.1.0
@schematics/angular               9.1.0
@schematics/update                0.901.0
rxjs                              6.5.4
typescript                        3.8.3
webpack                           4.42.0

感谢帮助!

标签: javascriptangulartypescriptspotify

解决方案


根据这里 spotify-web-playback-sdk的类型定义是non-npm package. 根据此处Spotify的文档,您将直接添加,这意味着它不会作为.JS bundlehtmlScriptmodule

来自DefiniteTyped

如果您不使用模块,则可能需要添加类型引用

您可以将以下行添加到您正在使用的文件的顶部,Spotify namespace错误应该会消失。

///  <reference types="@types/spotify-web-playback-sdk"/>

更多信息在这里这里。每当 Spotify 发布 npm 库时,都喜欢使用它。


推荐阅读