[绍棠] Ant Design Pro of Vue打包有前缀静态资源访问不到

本文介绍了两种在Vue项目中管理URL路径的方法,包括使用环境变量定义前缀、配置路由和公共路径,以及部署时与nginx的配合。历史模式和hash模式的切换可能导致静态资源访问问题。

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

方法一

缺点:需要和部署的路径保持一致,不是很灵活

1、在环境变量.env中定义url前缀

BASE_URL=/admin/

2、定义vue路由前缀路径router/index.js

const createRouter = () =>
  new Router({
    mode: 'history',
    base: process.env.BASE_URL,
//    mode: 'hash',
    routes: constantRouterMap
  })

.........

3、vue配置公共路径前缀vue.config.js

const vueConfig = {

 //  publicPath: process.env.NODE_ENV === "development" ? "/" : "./",
  publicPath: process.env.BASE_URL,
  outputDir:'dist',

  .........

4、打包部署到nginx或其他中间件,此时要保证前缀和部署的前缀保持一致

nginx

location /admin/ {
		index index.html index.htm;
		try_files $uri $uri/ /admin/index.html;
}

方法二

1、使用history模式

2、定义vue路由前缀路径router/index.js

3、vue配置公共路径前缀vue.config.js

// publicPath: process.env.NODE_ENV === 'development' ? '/' : './', // history改为 ’./‘ ,hash模式要’/‘,使用这种方法会导致图片无法加载以及一些其他问题

开发环境使用/,部署到服务器上使用./

这种能保证静态资源能访问到,但是图片访问又有问题,需要再调整,比较麻烦,还会产生其它问题,history和hash模式配置还不一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值