config.ts 1.48 KB
import { defineConfig } from 'umi';
import routers from './routers';
import proxy from './proxy';

const { REACT_APP_ENV } = process.env;

export default defineConfig({
  dva: {
    hmr: true,
  },
  webpack5: { lazyCompilation: {} },
  fastRefresh: {},
  devtool: false,
  routes: routers,
  define: {
    PROD_APP_ENV: (REACT_APP_ENV || 'dev') === 'prod',
    GRAY_TAG: '',
  },
  theme: {
    'primary-color': (REACT_APP_ENV || 'dev') === 'prod' ? '#1890FF' : '#FAAD14',
  },
  locale: {
    default: 'zh-CN',
    antd: true,
    baseNavigator: true,
  },
  dynamicImportSyntax: {},
  ignoreMomentLocale: true,
  dynamicImport: {
    loading: '@/components/PageLoading/index',
  },
  manifest: {
    basePath: '/',
  },
  headScripts:
    (REACT_APP_ENV || 'dev') === 'prod' && process.env.NODE_ENV == 'production'
      ? [
          `(function(c,l,a,r,i,t,y){
    c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
    t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
    y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
    })(window, document, "clarity", "script", "lc90bxidj2");`,
        ]
      : [],
  base: '/',
  hash: process.env.NODE_ENV != 'development',
  history: {
    type: 'hash',
  },
  proxy: proxy[REACT_APP_ENV || 'dev'],
  nodeModulesTransform: {
    type: process.env.NODE_ENV == 'development' ? 'none' : 'all',
    exclude: [],
  },
  chainWebpack(config: any) {
    config.set('experiments', {
      asyncWebAssembly: true,
    });
  },
});