广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue项目部署到非根目录下的问题及解决
  • 177
分享到

vue项目部署到非根目录下的问题及解决

2024-04-02 19:04:59 177人浏览 薄情痞子
摘要

目录问题描述解决方案1、Vue配置2、修改路由vue项目部署在非根目录下的配置版本vue项目配置Nginx配置问题描述 同一个生产部署项目,基内外网的访问路径并不相同,内网是基于域名

问题描述

同一个生产部署项目,基内外网的访问路径并不相同,内网是基于域名根目录来访问,而外网却指向了一个子目录。

eg. :

  • vue-router: history模式
  • 内网环境:192.168.1.1:8080/index.html
  • 外网环境:domain.com/ttsd/index.html

由于开发出来的项目是要部署在客户方,且客户并不想单独拿一个域名(或子域)来部署,这时,打包后的程序就要作一些配置方面的修改了。

解决方案

1、Vue配置

Vue 2

将 config/index.js 里的 assetsPublicPath: "/", 修改成 assetsPublicPath: "/app/", 

   // Paths
    assetsRoot: path.resolve(__dirname, "../dist"),
    assetsSubDirectory: "static",
    assetsPublicPath: "/app/", //修改打包后路径  修改这里

Vue 3

在根目录下新建 vue.config.js 文件,然后加上以下内容:(如果已经有此文件就直接修改)

module.exports = {
  publicPath: '', // 相对于 HTML 页面(目录相同)
}

2、修改路由

  • 在路由的history模式下,所有的路由都是基于根路径的,如 /xxxx ,由于部署目录未知,所以我们可以根据 location.pathname 来获取到当前访问的文件路径,来修改路由。
  • vue-router里提供了一个base的属性
  • base类型: string 默认值: "/" 应用的基路径。例如,如果整个单页应用服务在 /app/ 下,然后 base 就应该设为 "/app/" 。

router => index.js

增加基础路径 base:"/app/" 

const router = new Router({
  mode: "history",
  // base: getAbsolutePath(),
  base: "/app/",
  routes: [...]
......

动态获取根路径

function getAbsolutePath () {
 let path = location.pathname
 return path.substring(0, path.lastIndexOf('/') + 1)
}
 
const routers = new Router({
 mode: 'history',
 base: getAbsolutePath(),
 ...
})

vue项目部署在非根目录下的配置

版本

注:使用版本较新,项目结构可能存在差异。

vue项目配置

src/vue.config.js -- 打包配置(我理解的是打包配置,不确定是不是)

module.exports = {
    publicPath: '/pGCWEB/',
src/router/index.js -- 路由配置
const router = new VueRouter({
    base: '/pgcweb/',
    //mode: 'history',

nginx配置

location ^~ /pgcweb{
    alias /xxx/xxx/xxx/dist;
    try_files $uri $uri/ /pgcweb/index.html;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: vue项目部署到非根目录下的问题及解决

本文链接: https://www.lsjlt.com/news/146537.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue项目部署到非根目录下的问题及解决
    目录问题描述解决方案1、Vue配置2、修改路由vue项目部署在非根目录下的配置版本vue项目配置nginx配置问题描述 同一个生产部署项目,基内外网的访问路径并不相同,内网是基于域名...
    99+
    2022-11-13
  • 如何解决Vue项目编译后部署在非网站根目录的问题
    小编给大家分享一下如何解决Vue项目编译后部署在非网站根目录的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!同一个生产部署项...
    99+
    2022-10-19
  • 如何解决vue项目部署上线遇到的问题
    这篇文章将为大家详细讲解有关如何解决vue项目部署上线遇到的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。流程     1.服...
    99+
    2022-10-19
  • vue项目部署跨域问题怎么解决
    这篇文章主要介绍“vue项目部署跨域问题怎么解决”,在日常操作中,相信很多人在vue项目部署跨域问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue项目部署跨域问题怎么解决”的疑惑有所帮助!接下来...
    99+
    2023-06-30
  • Vue项目部署到IIS后刷新报错404的问题及解决方法
    这里需要用到URL重写工具 --URL Rewrite(默认没有,需要自己下载安装) 如果IIS上默认有安装Web平台安装程序,我们可以使用平台自动安装URL Rewrite重写工具...
    99+
    2022-11-13
    vue部署后刷新404 vue部署IIS
  • 解决springboot项目找不到resources目录下的资源问题
    springboot项目找不到resources目录下的资源 问题描述: 将老的mvc项目转为boot后找不到resources文件夹下的资源文件 原因: war包采用的是tomca...
    99+
    2022-11-12
  • Vue项目服务器部署刷新页面404问题及解决
    目录Vue服务器部署刷新页面404问题描述原因解决方法vue项目刷新界面出现404,正常点击跳转没问题Vue服务器部署刷新页面404 问题描述 在上线vue开发的前端网页部署在服务器...
    99+
    2022-11-13
  • vue项目部署跨域问题的详细解决过程
    目录首先是后端:再是前端:总结跨域问题在前后端分离项目很常见,至于为什么会跨域,同源策略,百度各种博客都很详细,这里不再介绍,主要记录项目中的各种设置,解决的过程。 首先是后端: 过...
    99+
    2022-11-13
  • 如何解决vue-cli3使用子目录部署问题
    这篇文章主要介绍了如何解决vue-cli3使用子目录部署问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在使用 vue-cli3 buil...
    99+
    2022-10-19
  • 如何解决springboot项目找不到resources目录下的资源问题
    小编给大家分享一下如何解决springboot项目找不到resources目录下的资源问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!springboot项目找不到resources目录下的资源问题描述:将老的mvc项目...
    99+
    2023-06-20
  • 浅谈vue+vite项目部署会遇到的几个问题
    今天来打包硅谷外卖项目,通过解决项目中遇到的问题来加深对vite打包的理解。 运行yarn build 报错,报[WARNING] Expected identifier but f...
    99+
    2023-05-18
    vue vite 项目部署 vue vite部署
  • 部属vue项目访问路径设置非根显示白屏怎么解决
    本篇内容介绍了“部属vue项目访问路径设置非根显示白屏怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!vue访问路径设置非根显示白屏问...
    99+
    2023-06-30
  • 部属vue项目,访问路径设置非根,显示白屏的解决方案
    目录vue访问路径设置非根显示白屏解决vue部署到非根目录设置需要修改三处配置vue访问路径设置非根显示白屏 问题: 访问页面,返回“We’re sorry ...
    99+
    2022-11-13
  • SpringBoot项目找不到javax.servlet.Filter的问题及解决
    目录SpringBoot找不到javax.servlet.Filter的问题启动SpringBoot项目找不到报错这是我配置的(有问题的)正确的配置(在远程maven仓库中搜索的配置...
    99+
    2022-11-13
  • 如何解决将three项目迁移至vue项目遇到的问题
    这篇文章主要介绍了如何解决将three项目迁移至vue项目遇到的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。通过npm下载的three依赖无法正常使用在原项目中使用的是...
    99+
    2023-06-28
  • vue项目无法删除的问题及解决
    目录vue项目无法删除vue新增与删除问题vue项目无法删除 问题 今天删除本地的vue项目,一直提示“操作无法完成,因为其中的文件夹或文件已在另一个程序组打开,请关闭该...
    99+
    2022-11-13
  • vue部署到域名二级目录刷新404的解决
    目录vue部署到域名二级目录刷新404vue如何部署二级目录说一下这里会遇到得问题如何解决vue部署到域名二级目录刷新404 一个域名有个根目录,但有两个项目,就需要二级目录 比如说...
    99+
    2022-11-13
  • 解决weblogic部署springboot项目步骤及可能会出现的问题
    项目为springboot的需要适配weblogic 第一步 修改启动类, 很多搜到的都是这样 修改启动类StartEPassApplication 第二步 完全排除掉tomcat...
    99+
    2022-11-12
  • vue项目proxyTable配置和部署服务器的问题怎么解决
    这篇文章主要介绍“vue项目proxyTable配置和部署服务器的问题怎么解决”,在日常操作中,相信很多人在vue项目proxyTable配置和部署服务器的问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-06-30
  • Nginx部署vue项目和配置代理的问题解析
    1.nginx安装和启动 # 安装nginx sudo apt-get install nginx # 启动 sudo service nginx start 验证安装 #...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作