1.hash
- Type:boolean
 - Default:false
配置是否让生成的文件包含 hash 后缀,通常用于增量发布和避免浏览器加载缓存。 启用 hash 后,产物通常是这样,
- dist - logo.sw892d.png - umi.df723s.js - umi.8sd8fw.css - index.html 注:
 
- html 文件始终没有 hash
 
 
打包时根据修改生成不同的后缀,避免浏览器缓存。
开始时
改变hash后
//.umirc.tsimport { defineConfig } from 'umi';export default defineConfig({nodeModulesTransform: {type: 'none',},hash:true,routes: [{ path: '/', component: '@/pages/index' },],fastRefresh: {},});
2.base
- Type:string
 - Default:/
设置路由前缀,通常用于部署到非根目录。 比如,你有路由/和/users,然后设置了 base 为/foo/,那么就可以通过/foo/和/foo/users访问到之前的路由。
 
import { defineConfig } from 'umi';export default defineConfig({nodeModulesTransform: {type: 'none',},hash:true,//这里部署到admin下面base:'/admin/',routes: [{ path: '/', component: '@/pages/index' },],fastRefresh: {},});
3.publicPath
- Type:publicPath
 - Default:/
配置 webpack 的 publicPath。当打包的时候,webpack 会在静态文件路径前面添加publicPath的值,当你需要修改静态文件地址时,比如使用 CDN 部署,把publicPath的值设为 CDN 的值就可以。如果使用一些特殊的文件系统,比如混合开发或者 cordova 等技术,可以尝试将publicPath设置成./相对路径。 相对路径./有一些限制,例如不支持多层路由/foo/bar,只支持单层路径/foo 如果你的应用部署在域名的子路径上,例如https://www.your-app.com/foo/,你需要设置publicPath为/foo/,如果同时要兼顾开发环境正常调试,你可以这样配置:
 
import { defineConfig } from 'umi';export default defineConfig({ publicPath: process.env.NODE_ENV === 'production' ? '/foo/' : '/',});
3.1案例
import { defineConfig } from 'umi';export default defineConfig({nodeModulesTransform: {type: 'none',},hash:true,// base:'/admin/',publicPath:'http://xx.com/cdn/',routes: [{ path: '/', component: '@/pages/index' },],fastRefresh: {},});输入yarn build打包
4.outputPath
修改打包文件夹路径,默认时dist目录
- Type:string
 - Default:dist
 
指定输出路径。
注意:
- 不允许设定为src、public、pages、mock、config等约定目录
 

import { defineConfig } from 'umi';export default defineConfig({nodeModulesTransform: {type: 'none',},outputPath:'builds',routes: [{ path: '/', component: '@/pages/index' },],fastRefresh: {},});
5.title
修改窗口标题
- Type:string
 - Default:’’
 

import { defineConfig } from 'umi';export default defineConfig({nodeModulesTransform: {type: 'none',},title:'王苏',outputPath:'builds',routes: [{ path: '/', component: '@/pages/index' },],fastRefresh: {},});
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
6.2hash
```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: {}, });
<a name="VZ5tf"></a># 7.proxy- Type:object- Default:{}配置代理能力,可以解决跨域问题。```jsximport { defineConfig } from 'umi';export default defineConfig({nodeModulesTransform: {type: 'none',},history: { type: 'hash' },outputPath: 'builds',routes: [{ path: '/', component: '@/pages/index' }],fastRefresh: {},//实际访问的是api/student转发到studentproxy: {'/api': {target: 'http://jsonplaceholder.typicode.com/',changeOrigin: true,pathRewrite: { '^/api': '' },},},});
8.theme
修改less,来修改主题,下图修改颜色
- Type:object
 - Default:{}
 

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: {},//实际访问的是api/student转发到studenttheme: {'@primary-color': '#1DA57A',},});
