umijs / umi

A framework in react community ✨
https://umijs.org
MIT License
15.34k stars 2.65k forks source link

第一次启动代码3分钟、无代码热更、刷新页面1分钟、切换国际化重新刷新界面 #7842

Closed haoyinag closed 2 years ago

haoyinag commented 2 years ago

如题

综上所述带来不大友好的开发体验。 不确定是不是我配置问题 image

配置

{
  "name": "manufacture",
  "version": "5.2.0",
  "private": true,
  "main": "commitlint.config.js",
  "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",
    "playwright": "playwright install && playwright test",
    "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",
    "test": "umi test",
    "test:component": "umi test ./src/components",
    "test:e2e": "node ./tests/run-tests.js",
    "tsc": "tsc --noEmit"
  },
  "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"
  ],
  "dependencies": {
    "@ant-design/icons": "^4.7.0",
    "@ant-design/pro-descriptions": "^1.10.0",
    "@ant-design/pro-form": "^1.52.0",
    "@ant-design/pro-layout": "^6.32.0",
    "@ant-design/pro-table": "^2.61.0",
    "@antv/g2plot": "^2.4.8",
    "@umijs/route-utils": "^2.0.0",
    "ahooks": "^3.1.9",
    "antd": "^4.17.0",
    "classnames": "^2.3.0",
    "immer": "^9.0.12",
    "lodash": "^4.17.0",
    "moment": "^2.29.0",
    "nanoid": "^3.2.0",
    "omit.js": "^2.0.2",
    "qs": "^6.10.3",
    "rc-menu": "^9.1.0",
    "rc-util": "^5.16.0",
    "react": "^17.0.0",
    "react-dev-inspector": "^1.7.0",
    "react-dom": "^17.0.0",
    "react-helmet-async": "^1.2.0",
    "umi": "^3.5.0"
  },
  "devDependencies": {
    "@ant-design/pro-cli": "^2.1.0",
    "@commitlint/cli": "^16.1.0",
    "@commitlint/config-conventional": "^16.0.0",
    "@playwright/test": "^1.17.0",
    "@types/express": "^4.17.0",
    "@types/history": "^4.7.0",
    "@types/jest": "^26.0.0",
    "@types/lodash": "^4.14.0",
    "@types/react": "^17.0.0",
    "@types/react-dom": "^17.0.0",
    "@types/react-helmet": "^6.1.0",
    "@umijs/fabric": "^2.8.0",
    "@umijs/openapi": "^1.3.0",
    "@umijs/plugin-blocks": "^2.2.0",
    "@umijs/plugin-esbuild": "^1.4.0",
    "@umijs/plugin-openapi": "^1.3.0",
    "@umijs/preset-ant-design-pro": "^1.3.0",
    "@umijs/preset-dumi": "^1.1.0",
    "@umijs/preset-react": "^1.8.17",
    "@umijs/yorkie": "^2.0.5",
    "carlo": "^0.9.46",
    "cross-env": "^7.0.0",
    "cross-port-killer": "^1.3.0",
    "detect-installer": "^1.0.0",
    "enzyme": "^3.11.0",
    "eslint": "^7.32.0",
    "express": "^4.17.0",
    "gh-pages": "^3.2.0",
    "husky": "4.3.8",
    "jsdom-global": "^3.0.0",
    "lint-staged": "^10.0.0",
    "mockjs": "^1.1.0",
    "prettier": "^2.5.0",
    "puppeteer-core": "^8.0.0",
    "stylelint": "^13.0.0",
    "swagger-ui-react": "^3.52.0",
    "typescript": "^4.5.0",
    "umi-serve": "^1.9.10"
  },
  "engines": {
    "node": ">=10.0.0"
  },
  "gitHooks": {
    "commit-msg": "fabric verify-commit"
  },
  "husky": {
    "hooks": {
      "commit-msg": " commitlint -E HUSKY_GIT_PARAMS"
    }
  }
}
/*
 * @Author: 郁南
 * @LastEditors: 郁南
 * @Date: 2022-01-22 16:59:03
 * @LastEditTime: 2022-02-14 10:58:39
 * @FilePath: \manufacture\config\config.ts
 * @Description:
 */
// https://umijs.org/config/
import { defineConfig } from 'umi';
import { join } from 'path';

import defaultSettings from './defaultSettings';
import proxy from './proxy';
import routes from './routes';

const { REACT_APP_ENV } = process.env;

export default defineConfig({
  hash: true,
  antd: {},
  dva: {
    hmr: true,
  },
  layout: {
    // https://umijs.org/zh-CN/plugins/plugin-layout
    locale: true,
    siderWidth: 208,
    ...defaultSettings,
  },
  // https://umijs.org/zh-CN/plugins/plugin-locale
  locale: {
    // default zh-CN
    default: 'zh-CN',
    antd: true,
    // default true, when it is true, will use `navigator.language` overwrite default
    baseNavigator: true,
  },
  dynamicImport: {
    loading: '@ant-design/pro-layout/es/PageLoading',
  },
  targets: {
    ie: 11,
  },
  // umi routes: https://umijs.org/docs/routing
  routes,
  // Theme for antd: https://ant.design/docs/react/customize-theme-cn
  theme: {
    'root-entry-name': 'variable',
    '@primary-color': '#004caa',
  },
  // esbuild is father build tools
  // https://umijs.org/plugins/plugin-esbuild
  esbuild: {},
  title: false,
  ignoreMomentLocale: true,
  proxy: proxy[REACT_APP_ENV || 'dev'],
  manifest: {
    basePath: '/',
  },
  // Fast Refresh 热更新
  fastRefresh: {},
  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',
    },
  ],
  nodeModulesTransform: { type: 'none' },
  mfsu: {},
  webpack5: {},
  exportStatic: {},
});
jk4235 commented 2 years ago

fastRefresh和mfsu貌似有一些冲突,你可以尝试关掉这两个再试试,个人经验

webPan commented 2 years ago

你好解决了吗,我的使用了mfsu也是热更新失效,编译一样缓慢 ` import { defineConfig } from 'umi' import defaultSettings from './defaultSettings' import proxy from './proxy' import routes from './routes'

const { REACT_APP_ENV } = process.env

export default defineConfig({ publicPath: './', history: { type: 'hash', }, hash: true, antd: {}, dva: { hmr: true, }, layout: { locale: true, siderWidth: 208, ...defaultSettings, }, locale: { default: 'zh-CN', antd: true, baseNavigator: true, }, dynamicImport: { loading: '@ant-design/pro-layout/es/PageLoading', }, targets: { ie: 11, }, routes, theme: { 'primary-color': defaultSettings.primaryColor, }, define: { CIONFONT_URL: '//at.alicdn.com/t/font_2880658_vdspkak56e.js', }, esbuild: {}, title: false, ignoreMomentLocale: true, proxy: proxy[REACT_APP_ENV || 'dev'], manifest: { basePath: '/', }, // Fast Refresh 热更新 fastRefresh: {}, nodeModulesTransform: { type: 'none' }, // mfsu: {}, // webpack5: {}, exportStatic: {}, }) `