response-redux: не удается импортировать классы - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь пройти курс «Начни с редукса» на egghead.io

Однако я не хочу использовать пример кода на jsbin, как он.

Я хочу использовать его на своем собственном экспресс-сервере. Потому что какой смысл в учебнике по началу работы, если мы вообще не можем использовать его в реальной жизни?

Вот код, используемый в курсе: http://jsbin.com/wuwezo/74/edit?js,console,output

Это начинается с этого:

const { connect, Provider } = ReactRedux;
const { combineReducers, createStore } = Redux;

Так что я пытаюсь заставить эти две строки работать.

В моем файле index.jsx поверх этих двух строк я импортирую response-redux и redux, поэтому:

import ReactRedux from 'react-redux';
import Redux from 'redux';
const { connect, Provider } = ReactRedux;
const { combineReducers, createStore } = Redux;

Затем я запускаю webpack (я использую babel loader): он помещает файл bundle.js в публичный каталог (где находится index.html). Затем я запускаю экспресс-сервер и посещаю index.html.

Я получаю это в консоли: Fire Fox: «Ошибка типа: _reactRedux2.default не определена [Узнать больше]»

Chrome: "Uncaught TypeError: Невозможно прочитать свойство 'connect' из неопределенного"

Погуглив ошибку firefox, я ничего не получаю.

Но с Chrome я понимаю, что получаю неопределённое использование "const {...}".

Это проблема загрузчика?

Чего мне не хватает?

Ответы [ 2 ]

0 голосов
/ 26 апреля 2018

Чтобы использовать es6, вы можете использовать "presets": ["es2016"] в своем веб-пакете. Для документации, вы можете обратиться здесь

0 голосов
/ 26 апреля 2018

Вы пытаетесь использовать импорт es6, когда эти модули не являются модулями es6. Просто вернитесь к использованию require.

const { connect, Provider } = require('react-redux');
const { combineReducers, createStore } = require('redux');

Следующие опции также должны работать для вас:

import * as ReactRedux from 'react-redux';
import * as Redux from 'redux';
const { connect, Provider } = ReactRedux;
const { combineReducers, createStore } = Redux;

И

import { connect, Provider } from 'react-redux';
import { combineReducers, createStore }  from 'redux';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...