app.js 1.88 KB
Newer Older
邓晓峰's avatar
邓晓峰 committed
1
/* eslint-disable */
dengxiaofeng's avatar
dengxiaofeng committed
2
import '!file-loader?name=[name].[ext]!./images/favicon.ico';
dengxiaofeng's avatar
dengxiaofeng committed
3
import './global.less';
dengxiaofeng's avatar
dengxiaofeng committed
4
import '@babel/polyfill';
dengxiaofeng's avatar
dengxiaofeng committed
5
import 'antd/dist/antd.less';
dengxiaofeng's avatar
dengxiaofeng committed
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';
邓晓峰's avatar
邓晓峰 committed
11 12
import { ConfigProvider } from 'antd';
import zhCN from 'antd/es/locale/zh_CN';
dengxiaofeng's avatar
dengxiaofeng committed
13 14
import { ConnectedRouter } from 'connected-react-router/immutable';
import Immutable from 'immutable';
dengxiaofeng's avatar
dengxiaofeng committed
15 16 17
import { Provider } from 'react-redux';

import configureStore from './configureStore';
dengxiaofeng's avatar
dengxiaofeng committed
18
import App from './containers/App';
19
import config from './routes/config';
邓晓峰's avatar
邓晓峰 committed
20 21
import history from './utils/history';

dengxiaofeng's avatar
dengxiaofeng committed
22
const initialState = Immutable.Map();
dengxiaofeng's avatar
dengxiaofeng committed
23 24
const store = configureStore(initialState, history);
const MOUNT_NODE = document.getElementById('app');
25 26 27 28 29 30 31 32
const handleIcoCreate = icoUrl => {
  var link = document.querySelector("link[rel*='icon']") || document.createElement('link');
  link.type = 'image/x-icon';
  link.rel = 'shortcut icon';
  link.href = icoUrl;
  document.getElementsByTagName('head')[0].appendChild(link);
};
handleIcoCreate(window.location.origin + '/civmanage/favicon.ico');
dengxiaofeng's avatar
dengxiaofeng committed
33
const render = () => {
34 35 36
  ReactDOM.render(
    <Provider store={store}>
      <ConnectedRouter history={history}>
37 38 39
        <ConfigProvider locale={zhCN}
          prefixCls={"ant"}
        >
40 41 42 43 44 45 46 47
          {/* <PictureWallProvider> */}
          <App routesConfig={config} />
          {/* </PictureWallProvider> */}
        </ConfigProvider>
      </ConnectedRouter>
    </Provider>,
    MOUNT_NODE,
  );
dengxiaofeng's avatar
dengxiaofeng committed
48 49
};

dengxiaofeng's avatar
dengxiaofeng committed
50
if (module.hot) {
51 52 53 54
  module.hot.accept(['./containers/App'], () => {
    ReactDOM.unmountComponentAtNode(MOUNT_NODE);
    render();
  });
dengxiaofeng's avatar
dengxiaofeng committed
55
}
张烨's avatar
张烨 committed
56
if (MOUNT_NODE) {
57
  render();
dengxiaofeng's avatar
dengxiaofeng committed
58
}
dengxiaofeng's avatar
dengxiaofeng committed
59 60

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