vue项目部署在域名的子目录下应该如何配置

需求:实现本地调试直接使用根目录,build发布后支持部署在http://www.xxx.com/myapp子目录下
解决:vue-cli脚手架搭建的项目,都是默认以根目录形式配置(http://www.xxx.com) ,想要部署在子目录下(http://www.xxx.com/myapp )需要修改相应的配置才能实现。

  1. .env.production文件
# just a flag
ENV = 'production'

# base api
VUE_APP_BASE_API = 'http://www.xxx.com'

#前端访问是否携带项目名称
VUE_APP_PACKAGE = '/myapp/'
  1. vue.config.js文件
module.exports = {
//部署应用包时的基本 URL
publicPath: process.env.NODE_ENV === 'production' ? process.env.VUE_APP_PACKAGE : '/',
}
  1. 路由增加根目录
    在vue-router配置中增加base属性,声明路由根目录
const router = new Router({
  mode: "history",
  base: process.env.NODE_ENV === 'production' ? process.env.VUE_APP_PACKAGE : '/',
  ...
});

  1. nginx配置
location /myapp {
  try_files $uri $uri/ /myapp/index.html;
}

后端配置例子:https://router.vuejs.org/zh/guide/essentials/history-mode.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值