config.js 6.29 KB
Newer Older
愚道's avatar
愚道 committed
1 2
/* eslint-disable react/destructuring-assignment */

愚道's avatar
愚道 committed
3
// https://umijs.org/config/
愚道's avatar
愚道 committed
4 5

const path = require('path');
愚道's avatar
愚道 committed
6
// const pageRoutes = require('../_routes');
愚道's avatar
愚道 committed
7

愚道's avatar
愚道 committed
8
export default {
愚道's avatar
愚道 committed
9 10 11
  // add for transfer to umi
  plugins: [
    'umi-plugin-dva',
陈帅's avatar
陈帅 committed
12
    'umi-plugin-locale',
愚道's avatar
愚道 committed
13
    // TODO 决定是否使用约定路由,如果使用配置路由那么 umi-plugin-routes 可以去掉了
愚道's avatar
愚道 committed
14 15 16 17 18 19 20 21 22
    // [
    //   'umi-plugin-routes',
    //   {
    //     exclude: [/\.test\.js/],
    //     update(routes) {
    //       return [...pageRoutes, ...routes];
    //     },
    //   },
    // ],
愚道's avatar
愚道 committed
23 24
  ],
  disableServiceWorker: true,
陈帅's avatar
陈帅 committed
25 26 27 28 29 30
  locale: {
    enable: true, // default false
    default: 'zh-CN', // default zh-CN
    baseNavigator: true, // default true, when it is true, will use `navigator.language` overwrite default
    antd: true, // use antd, default is true
  },
愚道's avatar
愚道 committed
31
  // 路由配置
愚道's avatar
愚道 committed
32
  routes: [
愚道's avatar
愚道 committed
33 34 35 36 37 38 39 40 41 42 43 44 45
    // user
    {
      path: '/user',
      component: './layouts/UserLayout',
      routes: [
        { path: '/user', redirect: '/user/login' },
        { path: '/user/login', component: '/User/Login' },
        { path: '/user/register', component: './User/Register' },
        { path: '/user/register-result', component: './User/RegisterResult' },
      ],
    },

    // app
愚道's avatar
愚道 committed
46 47
    {
      path: '/',
愚道's avatar
愚道 committed
48
      component: './layouts/LoadingPage',
愚道's avatar
愚道 committed
49 50 51 52 53 54
      routes: [
        // dashboard
        { path: '/', redirect: '/dashboard/analysis' },
        { path: '/dashboard/analysis', component: './Dashboard/Analysis' },
        { path: '/dashboard/monitor', component: './Dashboard/Monitor' },
        { path: '/dashboard/workplace', component: './Dashboard/Workplace' },
愚道's avatar
愚道 committed
55

愚道's avatar
愚道 committed
56 57 58 59 60 61 62 63 64 65 66 67 68
        // forms
        { path: '/form/basic-form', component: './Forms/BasicForm' },
        {
          path: '/form/step-form',
          component: './Forms/StepForm',
          routes: [
            { path: '/form/step-form', redirect: '/form/step-form/info' },
            { path: '/form/step-form/info', component: './Forms/StepForm/Step1' },
            { path: '/form/step-form/confirm', component: './Forms/StepForm/Step2' },
            { path: '/form/step-form/result', component: './Forms/StepForm/Step3' },
          ],
        },
        { path: '/form/advanced-form', component: './Forms/AdvancedForm' },
愚道's avatar
愚道 committed
69

愚道's avatar
愚道 committed
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
        // list
        { path: '/list/table-list', component: './List/TableList' },
        { path: '/list/table-list', component: './List/TableList' },
        { path: '/list/basic-list', component: './List/BasicList' },
        { path: '/list/card-list', component: './List/CardList' },
        {
          path: '/list/search',
          component: './List/List',
          routes: [
            { path: '/list/search', redirect: '/list/search/projects' },
            { path: '/list/search/articles', component: './List/Articles' },
            { path: '/list/search/projects', component: './List/Projects' },
            { path: '/list/search/applications', component: './List/Applications' },
          ],
        },
愚道's avatar
愚道 committed
85

愚道's avatar
愚道 committed
86 87 88
        // profile
        { path: '/profile/basic', component: './Profile/BasicProfile' },
        { path: '/profile/advanced', component: './Profile/AdvancedProfile' },
愚道's avatar
愚道 committed
89

愚道's avatar
愚道 committed
90 91 92
        // result
        { path: '/result/success', component: './Result/Success' },
        { path: '/result/fail', component: './Result/Error' },
愚道's avatar
愚道 committed
93

愚道's avatar
愚道 committed
94 95 96 97
        // exception
        { path: '/exception/403', component: './Exception/403' },
        { path: '/exception/404', component: './Exception/404' },
        { path: '/exception/500', component: './Exception/500' },
陈帅's avatar
陈帅 committed
98
        { path: '/exception/trigger', component: './Exception/triggerException' },
愚道's avatar
愚道 committed
99
        // account
愚道's avatar
愚道 committed
100
        {
愚道's avatar
愚道 committed
101
          path: '/account/center',
愚道's avatar
愚道 committed
102 103
          component: './Account/Center/Center',
          routes: [
愚道's avatar
愚道 committed
104 105 106 107
            { path: '/account/center', redirect: '/account/center/articles' },
            { path: '/account/center/articles', component: './Account/Center/Articles' },
            { path: '/account/center/applications', component: './Account/Center/Applications' },
            { path: '/account/center/projects', component: './Account/Center/Projects' },
愚道's avatar
愚道 committed
108 109 110
          ],
        },
        {
愚道's avatar
愚道 committed
111
          path: '/account/settings',
愚道's avatar
愚道 committed
112 113
          component: './Account/Settings/Info',
          routes: [
愚道's avatar
愚道 committed
114 115 116 117
            { path: '/account/settings', redirect: '/account/settings/base' },
            { path: '/account/settings/base', component: './Account/Settings/BaseView' },
            { path: '/account/settings/security', component: './Account/Settings/SecurityView' },
            { path: '/account/settings/binding', component: './Account/Settings/BindingView' },
愚道's avatar
愚道 committed
118
            {
愚道's avatar
愚道 committed
119
              path: '/account/settings/notification',
愚道's avatar
愚道 committed
120 121 122 123
              component: './Account/Settings/NotificationView',
            },
          ],
        },
愚道's avatar
愚道 committed
124 125 126
      ],
    },
  ],
愚道's avatar
愚道 committed
127

愚道's avatar
愚道 committed
128 129 130 131 132
  // https://github.com/ant-design/ant-design/blob/master/components/style/themes/default.less
  theme: {
    // 'primary-color': '#10e99b',
    'card-actions-background': '#f5f8fa',
  },
愚道's avatar
愚道 committed
133

愚道's avatar
愚道 committed
134 135 136
  // copy from old webpackrc.js

  // entry: 'src/index.js', // TODO remove
愚道's avatar
愚道 committed
137 138 139 140 141 142 143 144 145 146 147 148
  extraBabelPlugins: [['import', { libraryName: 'antd', libraryDirectory: 'es', style: true }]],
  env: {
    development: {
      extraBabelPlugins: ['dva-hmr'],
    },
  },
  externals: {
    '@antv/data-set': 'DataSet',
    bizcharts: 'BizCharts',
    rollbar: 'rollbar',
  },
  alias: {
愚道's avatar
愚道 committed
149
    components: path.resolve(__dirname, '../src/components/'),
xiaohu's avatar
xiaohu committed
150 151 152
    utils: path.resolve(__dirname, '../src/utils/'),
    assets: path.resolve(__dirname, '../src/assets/'),
    common: path.resolve(__dirname, '../src/common/'),
愚道's avatar
愚道 committed
153 154
  },
  ignoreMomentLocale: true,
愚道's avatar
愚道 committed
155
  // theme: './theme.js',
愚道's avatar
愚道 committed
156
  // html: { TODO remove
愚道's avatar
愚道 committed
157
  //   template: './index.ejs',
愚道's avatar
愚道 committed
158
  // },
愚道's avatar
愚道 committed
159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181
  publicPath: '/',
  // TODO check hash config
  // hash: true,
  lessLoaderOptions: {
    javascriptEnabled: true,
  },
  cssLoaderOptions: {
    modules: true,
    getLocalIdent: (context, localIdentName, localName) => {
      if (
        context.resourcePath.includes('node_modules') ||
        context.resourcePath.includes('ant.design.pro.less')
      ) {
        return localName;
      }
      const antdProPath = context.resourcePath.match(/src(.*)/)[1].replace('.less', '');
      const arr = antdProPath
        .split('/')
        .map(a => a.replace(/([A-Z])/g, '-$1'))
        .map(a => a.toLowerCase());
      return `antd-pro${arr.join('-')}-${localName}`.replace(/--/g, '-');
    },
  },
陈帅's avatar
陈帅 committed
182
  disableFastClick: true,
愚道's avatar
愚道 committed
183
};