|
@@ -0,0 +1,36 @@
|
|
|
|
+
|
|
|
|
+import { createStore, applyMiddleware, compose } from 'redux';
|
|
|
|
+import { routerMiddleware } from 'react-router-redux';
|
|
|
|
+import { createEpicMiddleware } from 'redux-observable';
|
|
|
|
+import createHistory from 'history/createBrowserHistory';
|
|
|
|
+import rootReducer from './reducers.js';
|
|
|
|
+import rootEpic from './epics.js';
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+export const history = createHistory();
|
|
|
|
+
|
|
|
|
+const initialState = {},
|
|
|
|
+ enhancers = [],
|
|
|
|
+ middleware = [routerMiddleware(history), createEpicMiddleware(rootEpic)];
|
|
|
|
+
|
|
|
|
+if( process.env.NODE_ENV === 'development' ) {
|
|
|
|
+ const devToolsExtension = window.devToolsExtension;
|
|
|
|
+
|
|
|
|
+ if( typeof devToolsExtension === 'function' ) {
|
|
|
|
+ enhancers.push(devToolsExtension());
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+const composedEnhancers = compose(
|
|
|
|
+ applyMiddleware(...middleware),
|
|
|
|
+ ...enhancers,
|
|
|
|
+);
|
|
|
|
+
|
|
|
|
+const store = createStore(
|
|
|
|
+ rootReducer,
|
|
|
|
+ initialState,
|
|
|
|
+ composedEnhancers,
|
|
|
|
+);
|
|
|
|
+
|
|
|
|
+export default store;
|
|
|
|
+
|