umi 3.x打包后资源访问路径问题

如果在使用umi3.x打包后,上线正式环境后,如果线上访问路径不是根路径而是二级目录的话,会出现资源找不到的问题。
首先查看.umirc.ts或config/config.js配置;以下我是用.umirc.ts

import { defineConfig } from 'umi';
const {PUBLIC_PATH ='/'} = process.env
export default defineConfig({
  // dynamicImport: {
  //   loading: '@/Loading',
  // },
  nodeModulesTransform: {
    type: 'none',
  },
  request: {
    dataField: 'data',
  },
  base: PUBLIC_PATH, // 打包路径,默认是/
  publicPath: PUBLIC_PATH, // 资源访问路径,默认/
  define: {
    APP_NAME,
    REACT_APP_ENV,
  },
  locale: {
    default: 'zh-CN',
    antd: false,
    title: false,
    baseNavigator: true,
    baseSeparator: '-',
  },
  // 需要后台模式可以添加以下配置
  // layout: {},
});

查看代码可以知道,如果是打包上线到二级目录的话,对应的base和publicPath配置要改为对应的二级目录;比如xxx.xxx.com/abc,那么base和publicPath都必须是/abc

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容