1.hash

  • Type:boolean
  • Default:false

    配置是否让生成的文件包含 hash 后缀,通常用于增量发布和避免浏览器加载缓存。 启用 hash 后,产物通常是这样,

    • dist - logo.sw892d.png - umi.df723s.js - umi.8sd8fw.css - index.html 注:
    • html 文件始终没有 hash

打包时根据修改生成不同的后缀,避免浏览器缓存。
开始时
image.png
改变hash后

  1. //.umirc.ts
  2. import { defineConfig } from 'umi';
  3. export default defineConfig({
  4. nodeModulesTransform: {
  5. type: 'none',
  6. },
  7. hash:true,
  8. routes: [
  9. { path: '/', component: '@/pages/index' },
  10. ],
  11. fastRefresh: {},
  12. });

image.png

2.base

  • Type:string
  • Default:/

    设置路由前缀,通常用于部署到非根目录。 比如,你有路由/和/users,然后设置了 base 为/foo/,那么就可以通过/foo/和/foo/users访问到之前的路由。

  1. import { defineConfig } from 'umi';
  2. export default defineConfig({
  3. nodeModulesTransform: {
  4. type: 'none',
  5. },
  6. hash:true,
  7. //这里部署到admin下面
  8. base:'/admin/',
  9. routes: [
  10. { path: '/', component: '@/pages/index' },
  11. ],
  12. fastRefresh: {},
  13. });

image.png

3.publicPath

  1. import { defineConfig } from 'umi';
  2. export default defineConfig({ publicPath: process.env.NODE_ENV === 'production' ? '/foo/' : '/',});

3.1案例

  1. import { defineConfig } from 'umi';
  2. export default defineConfig({
  3. nodeModulesTransform: {
  4. type: 'none',
  5. },
  6. hash:true,
  7. // base:'/admin/',
  8. publicPath:'http://xx.com/cdn/',
  9. routes: [
  10. { path: '/', component: '@/pages/index' },
  11. ],
  12. fastRefresh: {},
  13. });
  14. 输入yarn build打包

image.png

4.outputPath

修改打包文件夹路径,默认时dist目录

  • Type:string
  • Default:dist

指定输出路径。
注意:

  • 不允许设定为src、public、pages、mock、config等约定目录

image.png

  1. import { defineConfig } from 'umi';
  2. export default defineConfig({
  3. nodeModulesTransform: {
  4. type: 'none',
  5. },
  6. outputPath:'builds',
  7. routes: [
  8. { path: '/', component: '@/pages/index' },
  9. ],
  10. fastRefresh: {},
  11. });

5.title

修改窗口标题

  • Type:string
  • Default:’’

image.png

  1. import { defineConfig } from 'umi';
  2. export default defineConfig({
  3. nodeModulesTransform: {
  4. type: 'none',
  5. },
  6. title:'王苏',
  7. outputPath:'builds',
  8. routes: [
  9. { path: '/', component: '@/pages/index' },
  10. ],
  11. fastRefresh: {},
  12. });

6.history

  • Type:object
  • Default:{type: ‘browser’}

配置history 类型和配置项
包含以下子配置项:

  • type,可选browser、hash和memory
  • options,传给 create{{{type}}}History 的配置项,每个类型器的配置项不同

注意,

  • options 中,getUserConfirmation由于是函数的格式,暂不支持配置
  • options 中,basename无需配置,通过 umi 的base配置指定

    6.1 broser

    image.png

    6.2hash

    image.png ```jsx import { defineConfig } from ‘umi’;

export default defineConfig({ nodeModulesTransform: { type: ‘none’, }, hash:true, title:’王苏’, // base:’/admin/‘, // publicPath:’http://xx.com/cdn/‘, history:{ type: ‘hash’ }, outputPath:’builds’, routes: [ { path: ‘/‘, component: ‘@/pages/index’ }, ], fastRefresh: {}, });

  1. <a name="VZ5tf"></a>
  2. # 7.proxy
  3. - Type:object
  4. - Default:{}
  5. 配置代理能力,可以解决跨域问题。
  6. ```jsx
  7. import { defineConfig } from 'umi';
  8. export default defineConfig({
  9. nodeModulesTransform: {
  10. type: 'none',
  11. },
  12. history: { type: 'hash' },
  13. outputPath: 'builds',
  14. routes: [{ path: '/', component: '@/pages/index' }],
  15. fastRefresh: {},
  16. //实际访问的是api/student转发到student
  17. proxy: {
  18. '/api': {
  19. target: 'http://jsonplaceholder.typicode.com/',
  20. changeOrigin: true,
  21. pathRewrite: { '^/api': '' },
  22. },
  23. },
  24. });

8.theme

修改less,来修改主题,下图修改颜色

  • Type:object
  • Default:{}

image.png

  1. import { defineConfig } from 'umi';
  2. export default defineConfig({
  3. nodeModulesTransform: {
  4. type: 'none',
  5. },
  6. hash: true,
  7. title: '王苏',
  8. // base:'/admin/',
  9. // publicPath:'http://xx.com/cdn/',
  10. history: { type: 'hash' },
  11. outputPath: 'builds',
  12. routes: [{ path: '/', component: '@/pages/index' }],
  13. fastRefresh: {},
  14. //实际访问的是api/student转发到student
  15. theme: {
  16. '@primary-color': '#1DA57A',
  17. },
  18. });