返回顶部
首页 > 资讯 > 前端开发 > html >如何解决Vue项目编译后部署在非网站根目录的问题
  • 946
分享到

如何解决Vue项目编译后部署在非网站根目录的问题

2024-04-02 19:04:59 946人浏览 独家记忆
摘要

小编给大家分享一下如何解决Vue项目编译后部署在非网站根目录的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!同一个生产部署项

小编给大家分享一下如何解决Vue项目编译后部署在非网站根目录的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

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

eg. :

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

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

修改配置文件

1、把打包后的资源引用修改为相对路径 找到 config/index.jsbuild 属性下的 assetsPublicPath

build: {
 ...
 assetsPublicPath: './' // 未修改前的配置为 '/',
}

如何解决Vue项目编译后部署在非网站根目录的问题

2、修改样式引用的资源文件(图片、视频、字体文件等)为相对路径 找到 build/utils.js 中,添加(或修改) publicPath'../../'

if (options.extract) {
 return ExtractTextPlugin.extract({
 use: loaders,
 fallback: 'vue-style-loader',
 publicPath: '../../' // 修改路径
 })
} else {
 return ['vue-style-loader'].concat(loaders)
}

如何解决Vue项目编译后部署在非网站根目录的问题 

修改路由

在路由的history模式下,所有的路由都是基于根路径的,如 /xxxx ,由于部署目录未知,所以我们可以根据 location.pathname 来获取到当前访问的文件路径,来修改路由。

vue-router里提供了一个base的属性

base类型: string 默认值: "/" 应用的基路径。例如,如果整个单页应用服务在 /app/ 下,然后 base 就应该设为 "/app/"

修改路由代码

function getAbsolutePath () {
 let path = location.pathname
 return path.substring(0, path.lastIndexOf('/') + 1)
}

const routers = new Router({
 mode: 'history',
 base: getAbsolutePath(),
 ...
})

至此,打包配置的相关修改已全部完成,项目也能够正常访问。 但还是会有一个问题,跳转到某个路由后,刷新页面,就gg了,页面为空白,此时就要修改Nginx的配置了。

修改nginx的配置

官方给的nginx配置是根目录下的,即 https://router.vuejs.org/zh-cn/essentials/history-mode.html#nginx

location / {
 try_files $uri $uri/ /index.html;

 // 需要修改为
 try_files $uri $uri/ /dist/index.html;
}

注: /dist 根据实际部署的网站目录,修改一下就可以。 个人感觉还可以通过nginx内置的指令去动态获取,在下就不太清楚了。

以上是“如何解决Vue项目编译后部署在非网站根目录的问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网html频道!

--结束END--

本文标题: 如何解决Vue项目编译后部署在非网站根目录的问题

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

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

猜你喜欢
  • 如何解决Vue项目编译后部署在非网站根目录的问题
    小编给大家分享一下如何解决Vue项目编译后部署在非网站根目录的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!同一个生产部署项...
    99+
    2024-04-02
  • vue项目部署到非根目录下的问题及解决
    目录问题描述解决方案1、Vue配置2、修改路由vue项目部署在非根目录下的配置版本vue项目配置nginx配置问题描述 同一个生产部署项目,基内外网的访问路径并不相同,内网是基于域名...
    99+
    2024-04-02
  • 如何解决vue项目部署上线遇到的问题
    这篇文章将为大家详细讲解有关如何解决vue项目部署上线遇到的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。流程     1.服...
    99+
    2024-04-02
  • 如何解决vue-cli3使用子目录部署问题
    这篇文章主要介绍了如何解决vue-cli3使用子目录部署问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在使用 vue-cli3 buil...
    99+
    2024-04-02
  • vue项目部署跨域问题的详细解决过程
    目录首先是后端:再是前端:总结跨域问题在前后端分离项目很常见,至于为什么会跨域,同源策略,百度各种博客都很详细,这里不再介绍,主要记录项目中的各种设置,解决的过程。 首先是后端: 过...
    99+
    2024-04-02
  • Vue项目部署到IIS后刷新报错404的问题及解决方法
    这里需要用到URL重写工具 --URL Rewrite(默认没有,需要自己下载安装) 如果IIS上默认有安装Web平台安装程序,我们可以使用平台自动安装URL Rewrite重写工具...
    99+
    2022-11-13
    vue部署后刷新404 vue部署IIS
  • 如何解决vue打包项目后刷新404的问题
    这篇文章主要介绍了如何解决vue打包项目后刷新404的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。vue打包项目后刷新404的问题Ng...
    99+
    2024-04-02
  • 部属vue项目,访问路径设置非根,显示白屏的解决方案
    目录vue访问路径设置非根显示白屏解决vue部署到非根目录设置需要修改三处配置vue访问路径设置非根显示白屏 问题: 访问页面,返回“We’re sorry ...
    99+
    2024-04-02
  • 如何解决vue项目打包后文件过大问题
    目录为什么打包后文件过大?如何快速解决1.路由懒加载【使用es6提案的import()方式】2.CDN引入为什么打包后文件过大? 移动app项目,使用vue-cli脚手架搭建,UI主...
    99+
    2024-04-02
  • vue项目proxyTable配置和部署服务器的问题怎么解决
    这篇文章主要介绍“vue项目proxyTable配置和部署服务器的问题怎么解决”,在日常操作中,相信很多人在vue项目proxyTable配置和部署服务器的问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-06-30
  • 解决前后端分离Vue项目部署到服务器后出现的302重定向问题
    解决前后端分离Vue项目部署到服务器后出现的302重定向问题 问题描述问题原因定位问题解决方案校验修改效果相关阅读写在最后 问题描述 最近发现自己开发的vue前后端分离项目因为使用了s...
    99+
    2023-09-15
    vue.js 服务器 前端
  • 如何解决将three项目迁移至vue项目遇到的问题
    这篇文章主要介绍了如何解决将three项目迁移至vue项目遇到的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。通过npm下载的three依赖无法正常使用在原项目中使用的是...
    99+
    2023-06-28
  • 如何解决vue项目使用font-awesome,build后路径的问题
    这篇文章主要介绍如何解决vue项目使用font-awesome,build后路径的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!问题: 项目在本地run情况下显示正常,在buil...
    99+
    2024-04-02
  • vue项目打包后浏览器缓存问题如何解决
    本篇内容主要讲解“vue项目打包后浏览器缓存问题如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue项目打包后浏览器缓存问题如何解决”吧!vue项目打包后浏览器缓存第一步需要在index...
    99+
    2023-07-05
  • 如何解决Angular4项目部署到服务器上刷新404的问题
    这篇文章将为大家详细讲解有关如何解决Angular4项目部署到服务器上刷新404的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。刚遇到Angular4项目npm ru...
    99+
    2024-04-02
  • vue项目中的public、static及指定不编译文件问题怎么解决
    这篇文章主要介绍“vue项目中的public、static及指定不编译文件问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue项目中的public、static及指定不编译文件问题怎么解...
    99+
    2023-07-05
  • 如何解决基于node的前端项目编译时内存溢出问题
    这篇文章给大家分享的是有关如何解决基于node的前端项目编译时内存溢出问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先看我模拟出的报错内容具体截图如下里面有句关键的话,CA...
    99+
    2024-04-02
  • 如何解决springboot项目找不到resources目录下的资源问题
    小编给大家分享一下如何解决springboot项目找不到resources目录下的资源问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!springboot项目找不到resources目录下的资源问题描述:将老的mvc项目...
    99+
    2023-06-20
  • 如何解决vue-cli项目webpack打包后iconfont文件路径的问题
    这篇文章主要介绍了如何解决vue-cli项目webpack打包后iconfont文件路径的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。...
    99+
    2024-04-02
  • 如何解决vue-cli+webpack新建项目出错的问题
    小编给大家分享一下如何解决vue-cli+webpack新建项目出错的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!使用 npm init webpack love 创建一个新项目,然...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作