.umirc.ts 是 umi3 配置,umi4 把项目的配置都移动到 config目录下进行管理
.umirc.ts
import { defineConfig } from 'umi';
import { join } from 'path';
import aliyunTheme from '@ant-design/aliyun-theme';
import routes from './config/routes';
import dev from './config/dev';
import prod from './config/prod';
import proxy from './config/proxy';
// import qiankun from './config/qiankun';
// const { REACT_APP_ENV } = process.env;
console.log(process.env.NODE_ENV);
const envConfig = 'development' === process.env.NODE_ENV ? dev : prod;
export default defineConfig({
...envConfig,
// title: false,
routes,
// qiankun,
proxy: proxy[REACT_APP_ENV || 'dev'],
antd: {},
// mfsu: {},
webpack5: {}, // 使用webpack 5
// dynamicImport: {},
fastRefresh: {},
dva: {
hmr: true,
},
dva: {
hmr: true,
},
hash: false,
layout: {
// https://umijs.org/zh-CN/plugins/plugin-layout
locale: true,
siderWidth: 208,
...layout,
},
locale: {
default: 'zh-CN',
antd: true,
// default true, when it is true, will use `navigator.language` overwrite default
baseNavigator: true,
},
chunks: ['vendors', 'umi'],
nodeModulesTransform: {
type: 'none',
},
// https://ant.design/docs/react/customize-theme-cn
theme: {
'@font-size-base': '14px',
'primary-color': 'rgb(75, 12, 255)',
'root-entry-name': 'default',
...aliyunTheme,
},
dynamicImport: {
loading: '@ant-design/pro-layout/es/PageLoading',
},
manifest: {
basePath: '/',
},
ignoreMomentLocale: true,
targets: {
ie: 11,
},
// 以下配置,有些已经废弃,请参考文档
nodeModulesTransform: { type: 'none' },
// mfsu: {},
webpack5: {},
exportStatic: {},
// Fast Refresh 热更新
fastRefresh: {},
// https://umijs.org/plugins/plugin-esbuild
esbuild: {},
openAPI: [
{
requestLibPath: "import { request } from 'umi'",
// 或者使用在线的版本
// schemaPath: "https://gw.alipayobjects.com/os/antfincdn/M%24jrzTTYJN/oneapi.json"
schemaPath: join(__dirname, 'oneapi.json'),
mock: false,
},
{
requestLibPath: "import { request } from 'umi'",
schemaPath: 'https://gw.alipayobjects.com/os/antfincdn/CA1dOm%2631B/openapi.json',
projectName: 'swagger',
},
],
});
theme
自定义主题不生效问题,禁用 mfsu
ant-design-pro5.0
{
"name": "ant-design-pro",
"version": "5.0.0",
"private": true,
"description": "An out-of-box UI solution for enterprise applications",
"scripts": {
"analyze": "cross-env ANALYZE=1 umi build",
"build": "umi build",
"deploy": "npm run build && npm run gh-pages",
"dev": "npm run start:dev",
"gh-pages": "gh-pages -d dist",
"i18n-remove": "pro i18n-remove --locale=zh-CN --write",
"postinstall": "umi g tmp",
"lint": "umi g tmp && npm run lint:js && npm run lint:style && npm run lint:prettier && npm run tsc",
"lint-staged": "lint-staged",
"lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx ",
"lint:fix": "eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src && npm run lint:style",
"lint:js": "eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src",
"lint:prettier": "prettier -c --write \"src/**/*\" --end-of-line auto",
"lint:style": "stylelint --fix \"src/**/*.less\" --syntax less",
"openapi": "umi openapi",
"precommit": "lint-staged",
"prettier": "prettier -c --write \"src/**/*\"",
"serve": "umi-serve",
"start": "cross-env UMI_ENV=dev umi dev",
"start:dev": "cross-env REACT_APP_ENV=dev MOCK=none UMI_ENV=dev umi dev",
"start:no-mock": "cross-env MOCK=none UMI_ENV=dev umi dev",
"start:no-ui": "cross-env UMI_UI=none UMI_ENV=dev umi dev",
"start:pre": "cross-env REACT_APP_ENV=pre UMI_ENV=dev umi dev",
"start:test": "cross-env REACT_APP_ENV=test MOCK=none UMI_ENV=dev umi dev",
"pretest": "node ./tests/beforeTest",
"test": "umi test",
"test:all": "node ./tests/run-tests.js",
"test:component": "umi test ./src/components",
"tsc": "tsc --noEmit"
},
"dependencies": {
"@ant-design/aliyun-theme": "0.0.4",
"@ant-design/icons": "^4.5.0",
"@ant-design/pro-descriptions": "^1.9.0",
"@ant-design/pro-form": "^1.43.0",
"@ant-design/pro-layout": "^6.26.0",
"@ant-design/pro-table": "^2.56.0",
"@umijs/route-utils": "^2.0.3",
"antd": "^4.17.3",
"classnames": "^2.2.6",
"lodash": "^4.17.11",
"moment": "^2.25.3",
"omit.js": "^2.0.2",
"rc-menu": "^9.0.13",
"rc-util": "^5.14.0",
"react": "^17.0.2",
"react-dev-inspector": "^1.1.1",
"react-dom": "^17.0.2",
"react-helmet-async": "^1.0.4",
"umi": "^3.5.0",
"umi-serve": "^1.9.10"
},
"devDependencies": {
"@ant-design/pro-cli": "^2.0.2",
"@types/express": "^4.17.0",
"@types/history": "^4.7.2",
"@types/jest": "^26.0.0",
"@types/lodash": "^4.14.144",
"@types/react": "^17.0.0",
"@types/react-dom": "^17.0.0",
"@types/react-helmet": "^6.1.0",
"@umijs/fabric": "^2.6.2",
"@umijs/openapi": "^1.3.0",
"@umijs/plugin-blocks": "^2.0.5",
"@umijs/plugin-esbuild": "^1.0.1",
"@umijs/plugin-openapi": "^1.2.0",
"@umijs/preset-ant-design-pro": "^1.2.0",
"@umijs/preset-dumi": "^1.1.7",
"@umijs/preset-react": "^1.8.17",
"@umijs/yorkie": "^2.0.3",
"carlo": "^0.9.46",
"cross-env": "^7.0.0",
"cross-port-killer": "^1.1.1",
"detect-installer": "^1.0.1",
"enzyme": "^3.11.0",
"eslint": "^7.1.0",
"express": "^4.17.1",
"gh-pages": "^3.0.0",
"jsdom-global": "^3.0.2",
"lint-staged": "^10.0.0",
"mockjs": "^1.0.1-beta3",
"prettier": "^2.3.2",
"puppeteer-core": "^8.0.0",
"stylelint": "^13.0.0",
"swagger-ui-react": "^3.52.3",
"typescript": "^4.2.2"
},
"lint-staged": {
"**/*.less": "stylelint --syntax less",
"**/*.{js,jsx,ts,tsx}": "npm run lint-staged:js",
"**/*.{js,jsx,tsx,ts,less,md,json}": [
"prettier --write"
]
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 10"
],
"engines": {
"node": ">=10.0.0"
},
"gitHooks": {
"commit-msg": "fabric verify-commit"
}
}