config.js 3.01 KB
Newer Older
1 2
/* eslint-disable react/destructuring-assignment */

ๆ„š้“'s avatar
ๆ„š้“ committed
3
// https://umijs.org/config/
4
const pageRoutes = require('./router.config');
5 6
const path = require('path');

ๆ„š้“'s avatar
ๆ„š้“ committed
7
export default {
ๆ„š้“'s avatar
ๆ„š้“ committed
8 9
  // add for transfer to umi
  plugins: [
sorrycc's avatar
sorrycc committed
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
    ['umi-plugin-react', {
      antd: true,
      dva: {
        hmr: true,
      },
      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
      },
      dll: [
        'dva',
        'dva/router',
        'dva/saga',
        'dva/fetch',
      ],
    }],
ๆ„š้“'s avatar
ๆ„š้“ committed
27
  ],
ๆ„š้“'s avatar
ๆ„š้“ committed
28
  // ่ทฏ็”ฑ้…็ฝฎ
29
  routes: pageRoutes,
ๆ„š้“'s avatar
ๆ„š้“ committed
30

ๆ„š้“'s avatar
ๆ„š้“ committed
31 32 33
  theme: {
    'card-actions-background': '#f5f8fa',
  },
34 35 36 37 38
  externals: {
    '@antv/data-set': 'DataSet',
    rollbar: 'rollbar',
  },
  alias: {
ๆ„š้“'s avatar
ๆ„š้“ committed
39
    components: path.resolve(__dirname, '../src/components/'),
xiaohu's avatar
xiaohu committed
40 41 42
    utils: path.resolve(__dirname, '../src/utils/'),
    assets: path.resolve(__dirname, '../src/assets/'),
    common: path.resolve(__dirname, '../src/common/'),
43 44 45 46 47 48 49 50 51 52 53 54 55 56
  },
  ignoreMomentLocale: 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;
      }
sorrycc's avatar
sorrycc committed
57 58 59 60 61 62 63 64 65 66 67
      const match = context.resourcePath.match(/src(.*)/);
      if (match && match[1]) {
        const antdProPath = match[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, '-');
      } else {
        return localName;
      }
68 69
    },
  },
70 71 72 73 74 75 76 77 78 79 80 81 82 83
  manifest: {
    name: 'ant-design-pro',
    background_color: '#FFF',
    description: 'An out-of-box UI solution for enterprise applications as a React boilerplate.',
    display: 'standalone',
    start_url: '/index.html',
    icons: [
      {
        src: '/favicon.png',
        sizes: '48x48',
        type: 'image/png',
      },
    ],
  },
sorrycc's avatar
sorrycc committed
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109

  chainWebpack(config) {
    const AntDesignThemePlugin = require('antd-theme-webpack-plugin');
    const MergeLessPlugin = require('antd-pro-merge-less');

    // ๅฐ†ๆ‰€ๆœ‰ less ๅˆๅนถไธบไธ€ไธชไพ› themePluginไฝฟ็”จ
    const outFile = path.join(__dirname, './.temp/ant-design-pro.less');
    const stylesDir = path.join(__dirname, './src/');
    // config
    //   .plugin('merge-less')
    //   .use(MergeLessPlugin, [{
    //     stylesDir,
    //     outFile,
    //   }]);

    // config
    //   .plugin('ant-design-theme')
    //   .use(AntDesignThemePlugin, [{
    //     antDir: path.join(__dirname, './node_modules/antd'),
    //     stylesDir,
    //     varFile: path.join(__dirname, './node_modules/antd/lib/style/themes/default.less'),
    //     mainLessFile: outFile,
    //     themeVariables: ['@primary-color'],
    //     indexFileName: 'index.html',
    //   }]);
  },
ๆ„š้“'s avatar
ๆ„š้“ committed
110
};