.umirc.ts 1.11 KB
import { defineConfig } from 'umi';
import pkg from './package.json';
import routes from './src/routes';
import path from 'path';

export default defineConfig({
  esbuild: {},
  mountElementId: pkg.name,
  webpack5: {
    lazyCompilation: {},
  },
  runtimePublicPath: false,
  nodeModulesTransform: {
    type: 'none',
  },
  history: {
    type: 'hash'
  },
  hash: true,
  title: false,
  lessLoader: {
    globalVars: {
      theme: 'true;@import "~@/variable.less"',
    },
  },
  antd: {
    config: {
    }
  },
  routes,
  fastRefresh: {},
  qiankun: {
    slave: {}
  },
  chainWebpack(memo, { env, webpack, createCSSRule }) {
    memo.merge({
      externals: function ({ context, request }: Record<string, string>, callback: any) {
        if (/^react$/.test(request)) {
          return callback(null, 'React', 'react');
        }

        if (/^react-dom$/.test(request)) {
          return callback(null, 'ReactDOM', 'react-dom');
        }

        if (/antd.*\.(css|less)$/.test(path.resolve(context, request))) {
          return callback(null, 'antd-style');
        }

        callback();
      },
    });
  },
});