Не удается найти пространство имен 'amp' - PullRequest
1 голос
/ 04 октября 2019

Я пишу проект React / TypeScript, который использует Azure Media Player. В соответствии с документами в разделе «Ссылки на игрока» я должен иметь возможность ссылаться на игрока следующим образом:

var myPlayer = amp('vid1');

Затем я получаю ошибку компилятора:

TypeScript error in C:/<file path>/<file name>.tsx(47,17):
Cannot find namespace 'amp'.  TS2503

Я вижу, что это ошибка TypeScript, но документы написаны для JavaScript.

Итак, я пытаюсь использовать TypeScript:

let player: amp.Player = amp("player");

Та же ошибка компилятора.


Как ссылаться на проигрыватель AMP вмой проект React / TypeScript?

1 Ответ

1 голос
/ 05 октября 2019

TypeScript жалуется, поскольку amp типы должны быть импортированы в первую очередь. Согласно этот поток npm-пакета для Azure Media Player с определениями TypeScript пока недоступен. Но поскольку определения доступны из CDN, вот пример того, как добавить пользовательские наборы в проект:

a) загрузить azuremediaplayer.d.ts определений и поместить его в *Каталог 1011 *, например, в отдельной папке amp_typings:

amp_typings
    |
    azuremediaplayer.d.ts

b) добавить ссылку на определения этого типа в разделе compilerOptions вашего tsconfig.json:

{
  "compilerOptions": {
    ...
    "typeRoots": ["node_modules/@types", "amp_typings"]
  },
  ...
}

Вот и все, теперь модуль amp можно использовать в приложении React.

Вот демоверсия

...