react-router-redux: Module build failed: SyntaxError: Unexpected token ...reducers

react-router-redux: Module build failed: SyntaxError: Unexpected token ...reducers

//app.js
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { createStore, combineReducers, applyMiddleware } from 'redux';
import createHistory from 'history/createBrowserHistory';
import { Route } from 'react-router';

import { ConnectedRouter, routerReducer, routerMiddleware, push } from 'react-router-redux';

import App from './components/app.js';
import reducers from './reducers';

const history = createHistory();
const middleware = routerMiddleware(history);

// Add the reducer to your store on the `router` key
// Also apply our middleware for navigating
const store = createStore({
    ...reducers,
    router: routerReducer
  },
  applyMiddleware(middleware)
);

const About = () => {
  return (<div>
    Will this work?
  </div>);
}

ReactDOM.render(
  <Provider store={store}>
    <ConnectedRouter history={history}>
      <div>
        <Route exact path="/" component={App}/>
        <Route path="/about" component={About}/>
      </div>
    </ConnectedRouter>
  </Provider>
  , document.querySelector('#app'));

这是我的 reducers/index.js 代码。

//reducers/index.js
import { combineReducers } from 'redux';
import { mobileLinks } from './reducer_header';
import UserDetailsReducer from './reducer_user_details';

const rootReducer = combineReducers({
  mobileLinks,
  userDetails: UserDetailsReducer
});

export default rootReducer;

我该怎么做才能解决这个问题?我找不到新版本的 react-router-redux 的任何示例。我试过将 routerReducer 移动到 reducers/index.js 但这也没有用。有人可以帮忙吗?

很可能您没有将 Babel 设置为转译 Object Spread Operator,您可以继续阅读 here

您可以像这样简单地安装 Babel "Object rest spread transform" 预设: npm install --save-dev babel-plugin-transform-object-rest-spread

并将其添加到您的插件列表中:

{
    "plugins": [
        // Other plugins...
        "transform-object-rest-spread"
    ]
}