四、umi配置

本文详细介绍了umi的基本配置和webpack配置,包括plugins、routes、history、outputPath等umi配置,以及chainWebpack、theme、proxy等webpack配置选项,帮助理解并定制umi项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里主要是umi和webpack系列的配置。这些都是在config/config.js里面配置的

一、基本配置

  • (1)plugins: 配置插件列表
    • 类型Array,
    • 默认值[]
    • 介绍:数组项为指向插件的路径,可以是 npm 依赖、相对路径或绝对路径。如果是相对路径,则会从项目根目录开始找。如果插件有参数,则通过数组的形式进行配置,第一项是路径,第二项是参数
export default {
  plugins: [
    // 有参数
    [
      'umi-plugin-react',
      {
        dva: true,
        antd: true,
      },
    ],
    './plugin',
  ],
};
  • (2)routes: 配置路由
    • 类型Array,
    • 默认值null
    • 介绍:umi 的路由基于 react-router 实现,配置和 react-router@4 基本一致,详见路由配置章节。component 指向的路由组件文件是从 src/pages 目录开始解析的。如果配置了 routes,则优先使用配置式路由,且约定式路由会不生效
export default {
  routes: [
    {
      path: '/',
      component: '../layouts/index',
      routes: [
        { path: '/user', redirect: '/user/login' },
        { path: '/user/login', component: './user/login' },
      ],
    },
  ],
};
  • (3)history: 指定 history 类型
    • 类型String | [String, Object],
    • 默认值browser
    • 介绍:可选 browser、hash 和 memory
export default {
  history: 'hash',
};
  • (4)hash: 是否开启 hash 文件后缀
    • 类型Boolean,
    • 默认值false
  • (5)outputPath: 指定输出路径
    • 类型String,
    • 默认值./dist
    • 介绍:不允许设置
Umi 4.0 中使用 `@svgr/webpack` 进行 SVG 图形转换(例如将SVG转为React组件),你需要在项目的 `umi.config.ts` 或者是 `umirc.js` (如果使用的是基于配置文件的方式)中配置这个插件。这里是一个基本的例子: 首先,确保已经安装了必要的依赖: ```bash npm install @svgr/webpack svgo webpack-plugin-optimize-images ``` 然后,在 `umi.config.ts` 文件中添加以下配置: ```typescript import { addWebpackAlias } from '@umijs/plugin-webpack'; import SVGRPlugin from '@svgr/webpack'; // 添加SVGR配置到webpack配置 export default ({ chainWebpack: (config) => { config.module.rule('svg') .test(/\.svg$/) .use(SVGRPlugin) .loader('svg-sprite-loader') .options({ symbolId: 'icon-[name]' }); // 自定义生成符号id // 如果你想优化SVG图片,可以加上优化插件 config.optimization.usedExports('svg').include.add(resolve(__dirname, './src/svg')); // 根据项目结构调整此路径 // 如果你的项目使用Eslint,可能会遇到TS编译错误,可以添加别名解决导入问题 addWebpackAlias(config, { '@svg': path.resolve(__dirname, './src/svg'), }); }, }); ``` 在这个配置中,`SVGRPlugin` 用于处理SVG转React组件,`symbolId` 参数控制生成的符号ID。`optimization.usedExports` 可能用来优化引入的SVG图片。 如果你使用 `umirc.js`,配置会类似,只是文件不同: ```javascript module.exports = { plugins: [ ['@svgr/webpack', { alias: '@/svg' }], ], }; ``` 记得在你的项目中按需引用和导入转换后的SVG组件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值