Ссылка на статический файл JSON

В Docusaurus V2 как сделать ссылку на файл JSON в статической папке?

Я попробовал следующее в файле уценки:

An exemple, is the following [JSON dataset](../../static/data/solar-radiation.json).

Но Docusaurus выдает следующую ошибку:

./static/data/solar-radiation.json (./node_modules/file-loader/dist/cjs.js?name=assets/files/[name]-[hash].[ext]!./static/data/solar-radiation.json)
Module parse failed: Unexpected token e in JSON at position 0 while parsing near 'export default __web...'
File was processed with these loaders:
 * ./node_modules/file-loader/dist/cjs.js
You may need an additional loader to handle the result of these loaders.
SyntaxError: Unexpected token e in JSON at position 0 while parsing near 'export default __web...'
    at JSON.parse (<anonymous>)

Мой файл является допустимым JSON. По какой-то причине Docusaurus вместо отображения статического файла пытается его разобрать...


2
1 946
2

Ответы:

Решено

Я видел ту же проблему. Мое временное решение:

  • Изменить имя файла с .md на .mdx
  • Добавьте эту ссылку в свой файл json
<a target = "_blank" href = "/json/file.json" download = "file.json">Download</a>

У меня тоже была такая же проблема!

Согласно Issue # 3561 на Docusaurus GitHub, один из разработчиков сообщил, что в настоящее время рекомендуется использовать префикс pathname:// перед вашим URL-адресом. Чтобы использовать ваш пример:

An exemple, is the following
[JSON dataset](pathname://../../static/data/solar-radiation.json).

По-видимому, причина, по которой это происходит, заключается в конфликте между babel-loader (используется для загрузки кода) и file-loader (используется для загрузки статических ресурсов). Префикс pathname:// пропускает оба этих загрузчика и вместо этого просто создает ссылку.