Angular: не удается найти пространство имен "Spotify" при использовании @ types / spotify-web-play-sdk - PullRequest
0 голосов
/ 05 апреля 2020

Я пытаюсь использовать https://www.npmjs.com/package/@types / spotify-web-play-sdk в моем проекте angular, чтобы напечатать проигрыватель spotify в одном из моих компонентов. Я установил типы в соответствии с инструкциями ...

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

Линтер кода Visual Studio не жалуется, когда я определяю эту переменную класса и печатаю ее в SpotifyPlayer ...

// class variable
spotifyPlayer: Spotify.SpotifyPlayer;

Но, когда я go строю свой код, я получаю эту ошибку ...

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

Благодарю за помощь!

Ответы [ 2 ]

1 голос
/ 05 апреля 2020

Согласно определению типа здесь spotify-web-playback-sdk равно non-npm package. Согласно Spotify документации здесь , вы бы добавили JS bundle в ваш html напрямую, что означает, что Script не загружен как module.

С Определенно Тип

Возможно, вам понадобится добавить ссылку на типы, если вы не используете модули

Вы можете добавить следующую строку вверх файла, в котором вы используете Spotify namespace, и ошибка должна исчезнуть.

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

Дополнительная информация здесь и здесь . Всякий раз, когда Spotify публикует библиотеку npm, используйте ее вместо этого.

0 голосов
/ 05 апреля 2020

Вам придется импортировать пространство имен в каждом классе, например, import * as Spotify from 'Spotify'

...