react-app-shell
Version:
react打包脚本和example, 这里的版本请忽略
58 lines (47 loc) • 1.29 kB
JavaScript
import React, { Component } from 'react';
import { BrowserRouter as Router } from 'react-router-dom';
import { configure } from 'mobx';
import { Provider } from 'mobx-react';
import Monitor from '@mmears/monitor';
import BasicLayout from './views/layout/basic-layout';
import router from './router';
import * as allStore from './store';
// 性能监控实例
const monitor = new Monitor();
/**
* Mobx开启严格模式
*/
configure({
enforceActions: 'observed'
});
class App extends Component {
componentDidMount() {
// 开启
monitor.init();
// 添加移动端调试工具
if (process.env.NODE_ENV === 'staging') {
const script = document.createElement('script');
script.src = '//cdn.bootcss.com/eruda/1.5.8/eruda.min.js';
document.body.appendChild(script);
script.onload = function() {
window.eruda && window.eruda.init();
};
}
}
componentWillUnmount() {
// 卸载
monitor.destroy();
}
render() {
// 通过命令行 配置项目运行的目录
const basename = process.env.PUBLIC_URL || '';
return (
<Router basename={basename}>
<Provider {...allStore}>
<BasicLayout>{router}</BasicLayout>
</Provider>
</Router>
);
}
}
export default App;