Импортировать все файлы json из папки в JavaScript ES6

У меня есть папка с большим количеством файлов JSON:

-json
--file1.json
--anotherfile.json
  ...
--lastfile.json

Как я могу импортировать их все из этой папки, не определяя их имена явно?

Предположим, я должен использовать что-то вроде этого:

import * as jsonFiles from './json'

но это не работает.

Итак, как я могу это сделать?

Важное примечание: это не Node.js, я использую его с React на стороне клиента.


person Yurii N.    schedule 30.01.2017    source источник
comment
Не дубликат, в вопросе прямо говорится «без явного определения их имен». Для программно определенного списка импорта следует использовать require вместо import. Это можно сделать с помощью require-dir-all или чего-то еще.   -  person Estus Flask    schedule 30.01.2017
comment
@JoeClay этот вопрос отличается от предложенного вами, я хочу импортировать файлы json и делать это на стороне клиента.   -  person Yurii N.    schedule 30.01.2017
comment
@estus - Ах, да, это справедливо. Голосование отозвано!   -  person Joe Clay    schedule 30.01.2017
comment
Если это интерфейс, а не сервер (например, Node), я думаю, вам нужно использовать какую-то форму AJAX.   -  person evolutionxbox    schedule 30.01.2017
comment
Также stackoverflow.com/questions/29421409/   -  person Estus Flask    schedule 30.01.2017
comment
Если вы не знаете их имен, как вы будете использовать импортированные файлы?   -  person a better oliver    schedule 30.01.2017
comment
@ Я знаю их структуру, которая похожа, этого было бы достаточно.   -  person Yurii N.    schedule 30.01.2017


Ответы (1)


Список файлов со стороны сервера не может быть получен со стороны клиента, особенно если приложение не предварительно собрано с помощью инструмента сборки, а использует загрузчик модулей ES6.

Правильным способом здесь является получение объекта jsonFiles через запрос AJAX на стороне клиента, а сервер отвечает за чтение каталога и объединение файлов JSON в один объект.

person Estus Flask    schedule 30.01.2017
comment
Тут некоторые неправильно поняли. Я разрабатываю библиотеку React, которая является клиентской, поэтому я хочу получить все эти файлы json в одном из файлов реакции. Связь клиент-сервер не упоминается. - person Yurii N.; 30.01.2017
comment
Вы указали тег es6-module-loader. Это означает, что модули загружаются динамически. Если это не так, вопрос неверен и упускает детали того, как строится библиотека. - person Estus Flask; 30.01.2017
comment
У меня есть файл jsx, в который я хочу загрузить все эти файлы json. Они не загружаются динамически. Что я пропустил? - person Yurii N.; 30.01.2017
comment
Как вы создаете свое приложение? Это Webpack или что-то еще? - person Estus Flask; 30.01.2017
comment
Да, с вебпаком. - person Yurii N.; 30.01.2017
comment
Есть вопросы, которые уже объясняют это. Тем не менее, вариант AJAX применим, это полностью зависит от того, какие файлы json. - person Estus Flask; 30.01.2017
comment
Ajax не применим, эти файлы статичны. Какие вопросы, например? - person Yurii N.; 30.01.2017
comment
Я перечислил их как дубликаты в комментариях к вопросу (они действительно являются прямыми дубликатами). - person Estus Flask; 30.01.2017