Как импортировать json-файл в React

abc903 спросил: 12 мая 2018 в 05:06 в: json

Мне нужно импортировать данные json для запуска теста реакции редукции. Как импортировать devMock.json в dashboard.test.js? Могу ли я сделать это без установки зависимости?

devMock.json

{
"data": {
    "0": 11,
    "1": 1
},
"polarity_freq": {
   "negative": 214,
   "positive": 220
},
"sentiments_freq": {
    "anger": 1,
    "fear": 0,
    "sad": 2,
    "joy": 11
 }
},

dashboard.test.js

import * as actions from '../actions/dashboardActions';
import * as types from '../actions/actionTypes';
import configureMockStore from 'redux-mock-store';
import thunk from 'redux-thunk';
import expect from 'expect';
import fetchMock from 'fetch-mock';const middlewares = [ thunk ]
const mockStore = configureMockStore(middlewares)describe('Dashboard action creators should be called', () => {afterEach(() => {
  fetchMock.reset()
})

2 ответа

Есть решение
Matheus Pitz ответил: 12 мая 2018 в 05:11

Вы можете изменить его .json-файл на .js. Например:

export {
"data": {
    "0": 11,
    "1": 1
},
"polarity_freq": {
   "negative": 214,
   "positive": 220
},
"sentiments_freq": {
    "anger": 1,
    "fear": 0,
    "sad": 2,
    "joy": 11
 }
};

После этого просто импортируйте его как обычный .JS-файл.

import DevMock from './devMock.js';
Paolo Guerra ответил: 12 мая 2018 в 07:00

Ответ на вопрос "Matheus" - это правильное решение для вашего пользователя, подумал, что вам нужно указать идентификатор экспортируемого объекта, например:

export const myJson = {
    "data": {
        "0": 11,
        "1": 1
    },
    "polarity_freq": {
        "negative": 214,
        "positive": 220
    },
    "sentiments_freq": {
        "anger": 1,
        "fear": 0,
        "sad": 2,
        "joy": 11
    }
};

И вы можете импортировать его, как:

import { myJson } from "./myJson.js";

Кроме того, если вы экспортируете только один объект в свой файл, вы можете использовать экспорт по умолчанию:

export default { ... }

И затем импортируйте нужное имя:

import myAwesomeJson from "./myJson.js";