Импорт ресурсов из CDN в Gatsby на странице сборки - PullRequest
0 голосов
/ 06 мая 2019

Я хочу импортировать ресурс (видео) из CDN (AWS CloudFront) на определенную страницу в Gatsby. Я не знаю, как это сделать.

Я попытался добавить оператор import вверху страницы, который ссылается на ссылку на ресурс, например: http://[refId].cloudfront.net/myVideo.mp4. Когда я запускаю и запускаю gatsby develop, я получаю This dependency was not found и ссылка указана.

Когда я запускаю gatsby build, я получаю следующую ошибку:

Ошибка: ./src/pages/index.js Модуль не найден: Ошибка: не удается разрешить 'http://[refId].cloudfront.net/myVideo.mp4' в' C: \ Users \ David \ Documents \ wa mp \ www \ greystone \ src \ pages 'resolv * http://[refId].cloudfront.net/myVideo.mp4' в' C: \ Users \ David \ Documents \ wamp \ www \ greystone \ src \ pages 'Обработанный запрос представляет собой модуль, использующий файл описания: C: \ Users \ David \ Documents \ wamp \ www \ greystone \ package.json (относительный путь: ./src/pages) Поле 'browser' не содержит допустимого разрешения конфигурации псевдонима в виде модуля C: \ Users \ David \ Documents \ wamp \ www \ greystone \ src \ pages \ node_modules не существует или не является каталогом

Похоже, Гэтсби пытается расшифровать импорт как модуль.

Я нашел эту страницу в Gatsby Docs, Импорт активов непосредственно в файлы , но нет никаких упоминаний о том, как это сделать с помощью CDN.

Ссылка на импорт сама по себе, когда она помещается в адресную строку браузера, работает, но Гэтсби не удается собрать / скомпилировать при попытке импортировать ресурс на страницу таким способом.

import myVideo from 'http://[refId].cloudfront.net/myVideo.mp4'

export default (props) => (
    ...
    <video src={myVideo}></video>
    ...
)

Я ожидаю, что URL будет перенесен / скомпилирован в статический HTML.

1 Ответ

0 голосов
/ 06 мая 2019

возможно, вы можете использовать URL-адрес непосредственно в своем компоненте:

export default (props) => (
    ...
    <video src="http://[refId].cloudfront.net/myVideo.mp4"></video>
    ...
)

Если вы хотите сохранить видео и передать его с помощью Gatsby, воспользуйтесь вспомогательной функцией createRemoteFileNode из gatsby-source-filesystem.

...