es6语法,用于在一个文件中导出模块

dag*_*da1 2 ecmascript-6 reactjs

我想要一个index.js来定义我的所有反应组件,如下所示:

import App from './app';
import Home from './home';

export App;
export Home;
Run Code Online (Sandbox Code Playgroud)

然后我在另一个文件中引用它们:

import { App, Home } from './components/index';

ReactDOM.render(
  <Provider store={store}>
    <Router history={history}>
      <Route path="/" component={App}>
        <IndexRoute component={Home}/>
      </Route>
    </Router>
  </Provider>,
  document.getElementById('theContent')
);
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

Module build failed: SyntaxError: /Users/paulcowan/projects/liverpool-managers/client/app/components/index.js: Unexpected token (4:10)
  2 | import Home from './home';
  3 | 
> 4 | export App;
    |           ^
Run Code Online (Sandbox Code Playgroud)

Gal*_*sha 5

导出如下图所示.

import App from './app';
import Home from './home';

export {App, Home};
Run Code Online (Sandbox Code Playgroud)

希望这个适合你.

或者,您可以按如下所示编写导入(命名对象参考)

import * as Components from './components/index';

ReactDOM.render(
  <Provider store={store}>
    <Router history={history}>
      <Route path="/" component={Components.App}>
        <IndexRoute component={Components.Home}/>
      </Route>
    </Router>
  </Provider>,
  document.getElementById('theContent')
);
Run Code Online (Sandbox Code Playgroud)