config.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. // https://umijs.org/config/
  2. import { defineConfig } from 'umi';
  3. import { join } from 'path';
  4. import defaultSettings from './defaultSettings';
  5. import proxy from './proxy';
  6. import routes from './routes';
  7. const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
  8. const { REACT_APP_ENV } = process.env;
  9. export default defineConfig({
  10. hash: true,
  11. antd: {},
  12. dva: {
  13. hmr: true,
  14. },
  15. layout: {
  16. // https://umijs.org/zh-CN/plugins/plugin-layout
  17. locale: true,
  18. siderWidth: 208,
  19. ...defaultSettings,
  20. },
  21. // https://umijs.org/zh-CN/plugins/plugin-locale
  22. locale: {
  23. // default zh-CN
  24. default: 'zh-CN',
  25. antd: true,
  26. // default true, when it is true, will use `navigator.language` overwrite default
  27. baseNavigator: true,
  28. },
  29. dynamicImport: {
  30. loading: '@ant-design/pro-layout/es/PageLoading',
  31. },
  32. targets: {
  33. ie: 11,
  34. },
  35. // umi routes: https://umijs.org/docs/routing
  36. routes,
  37. // Theme for antd: https://ant.design/docs/react/customize-theme-cn
  38. theme: {
  39. 'primary-color': defaultSettings.primaryColor,
  40. },
  41. // esbuild is father build tools
  42. // https://umijs.org/plugins/plugin-esbuild
  43. esbuild: {},
  44. title: false,
  45. ignoreMomentLocale: true,
  46. proxy: proxy[REACT_APP_ENV || 'dev'],
  47. manifest: {
  48. basePath: '/',
  49. },
  50. lessLoader: {
  51. modifyVars: {
  52. 'root-entry-name': 'default', // 解决antd 4.17.0-alpha.9 bug 官方发布正式版后可尝试移除
  53. },
  54. },
  55. // Fast Refresh 热更新
  56. fastRefresh: {},
  57. openAPI: [
  58. {
  59. requestLibPath: "import { request } from 'umi'",
  60. // 或者使用在线的版本
  61. // schemaPath: "https://gw.alipayobjects.com/os/antfincdn/M%24jrzTTYJN/oneapi.json"
  62. schemaPath: join(__dirname, 'oneapi.json'),
  63. mock: false,
  64. },
  65. {
  66. requestLibPath: "import { request } from 'umi'",
  67. schemaPath: 'https://gw.alipayobjects.com/os/antfincdn/CA1dOm%2631B/openapi.json',
  68. projectName: 'swagger',
  69. },
  70. ],
  71. nodeModulesTransform: { type: 'none' },
  72. mfsu: {},
  73. webpack5: {},
  74. // exportStatic: {},
  75. chainWebpack(memo, { env, webpack, createCSSRule }) {
  76. memo.plugin('monaco-editor').use(
  77. new MonacoWebpackPlugin({
  78. languages: ['json', 'javascript', 'typescript', 'sql'],
  79. }),
  80. );
  81. },
  82. });