app.js 1.36 KB
Newer Older
dengxiaofeng's avatar
dengxiaofeng committed
1
import '!file-loader?name=[name].[ext]!./images/favicon.ico';
dengxiaofeng's avatar
dengxiaofeng committed
2
import './global.less';
dengxiaofeng's avatar
dengxiaofeng committed
3
import '@babel/polyfill';
dengxiaofeng's avatar
dengxiaofeng committed
4
import 'antd/dist/antd.less';
dengxiaofeng's avatar
dengxiaofeng committed
5 6 7 8 9 10
import 'file-loader?name=.htaccess!./.htaccess'; // eslint-disable-line import/extensions
import 'sanitize.css/sanitize.css';

import React from 'react';
import ReactDOM from 'react-dom';

dengxiaofeng's avatar
dengxiaofeng committed
11 12
import { ConnectedRouter } from 'connected-react-router/immutable';
import Immutable from 'immutable';
dengxiaofeng's avatar
dengxiaofeng committed
13 14
import { Provider } from 'react-redux';

陈前坚's avatar
陈前坚 committed
15 16
import { ConfigProvider } from 'antd';
import zhCN from 'antd/es/locale/zh_CN';
dengxiaofeng's avatar
dengxiaofeng committed
17
import configureStore from './configureStore';
dengxiaofeng's avatar
dengxiaofeng committed
18 19
import App from './containers/App';
import history from './utils/history';
dengxiaofeng's avatar
dengxiaofeng committed
20

dengxiaofeng's avatar
dengxiaofeng committed
21
const initialState = Immutable.Map();
dengxiaofeng's avatar
dengxiaofeng committed
22 23 24 25 26 27 28
const store = configureStore(initialState, history);
const MOUNT_NODE = document.getElementById('app');

const render = () => {
  ReactDOM.render(
    <Provider store={store}>
      <ConnectedRouter history={history}>
陈前坚's avatar
陈前坚 committed
29 30 31
        <ConfigProvider locale={zhCN}>
          <App />
        </ConfigProvider>
dengxiaofeng's avatar
dengxiaofeng committed
32 33 34 35 36 37
      </ConnectedRouter>
    </Provider>,
    MOUNT_NODE,
  );
};

dengxiaofeng's avatar
dengxiaofeng committed
38 39 40 41 42 43
if (module.hot) {
  module.hot.accept(['./containers/App'], () => {
    ReactDOM.unmountComponentAtNode(MOUNT_NODE);
    render();
  });
}
张烨's avatar
张烨 committed
44
if (MOUNT_NODE) {
dengxiaofeng's avatar
dengxiaofeng committed
45 46
  render();
}
dengxiaofeng's avatar
dengxiaofeng committed
47 48 49 50

if (process.env.NODE_ENV === 'production') {
  require('offline-plugin/runtime').install(); // eslint-disable-line global-require
}