nginx部署vue项目,给访问路径加前缀的方法:vue.config.js配置publicPath和nginx配置alias

这篇具有很好参考价值的文章主要介绍了nginx部署vue项目,给访问路径加前缀的方法:vue.config.js配置publicPath和nginx配置alias。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

摘要

本文主要涉及到 Vue.js 项目部署在 Nginx 上的相关问题。其中,publicPath 选项可以用于设置 Vue.js 项目的访问路径前缀,alias 指令可以用于 Nginx 中将请求路径映射到指定的文件系统路径。同时,通过设置 Nginx 配置文件,可以将多个 Vue.js 项目部署在同一个域名下的不同路径中。使用 alias 指令可以更加方便地管理多个 Vue.js 项目,并使配置文件更加简洁易读。

nginx部署vue项目,如何给访问路径加前缀

要在 Nginx 上部署 Vue.js 项目,并为访问路径加前缀,可以按照以下步骤操作:

  1. 首先,在 vue.config.js 中设置 publicPath 选项,例如将 publicPath 设置为 ‘/myapp’。

  2. 执行 npm run build 命令,将项目打包生成静态资源文件。

  3. 将打包生成的 dist 目录中的静态资源上传到服务器的指定目录,例如 /var/www/dist。

  4. 修改 Nginx 配置文件,将请求路径加上前缀。假设你的 Vue.js 项目是部署在域名为 example.com ,可以用alias 来配置,而不是root。可以按照以下方式配置 Nginx:

    server {
        listen 80;
        server_name example.com;
        location /myapp {
            alias /var/www/dist;
            index index.html;
           try_files $uri $uri/ /index.html last;
        }
    }
    
  5. 重新加载 Nginx 配置文件,以使更改生效:

    sudo nginx -t # 检查配置文件语法是否正确
    sudo systemctl reload nginx # 重新加载配置文件
    

完成以上步骤后,现在访问 http://example.com/myapp/ 将会指向你部署的 Vue.js 项目。

vueConfig publicPath的作用

在 Vue.js 中,publicPath 是 vue.config.js 中一个重要的选项,它用于指定项目中的静态资源的基本路径。它的作用主要有以下几点:

  1. 在部署应用时,可以通过修改 publicPath 来指定部署的根目录。例如,如果你要将应用部署到 http://yourdomain.com/myapp/ 这个目录下,就可以将 publicPath 设置为 ‘/myapp/’。

  2. 在使用 CDN 时,可以将 publicPath 设置为 CDN 的地址。这样,当项目中的静态资源被引用时,它们将从 CDN 上加载,而不是从本地服务器上加载。

  3. 在开发时,可以将 publicPath 设置为相对路径,以便在不同的环境中都能够正确地加载静态资源。

需要注意的是,publicPath 只会影响打包后生成的 index.html 中静态资源的路径,而不会影响开发环境中的路径。因此,如果你在开发环境中使用了相对路径来引用静态资源,那么在打包后的代码中,这些相对路径可能会失效,需要使用 publicPath 来指定正确的路径。

nginx 配置中 alias 和root的区别

在 Nginx 配置中,alias 和 root 都用于指定 web 服务器的根目录。它们之间的主要区别在于如何处理 URI。

  • root 指令定义了文件在文件系统中的基本路径,并将与请求 URI 的匹配部分组合起来构成实际的文件路径。例如,如果请求的 URI 是 /images/logo.png,并且 root 指令设置为 /var/www/html,则 Nginx 会在文件系统上寻找 /var/www/html/images/logo.png。如果请求的 URI 包含斜杠结尾,则 Nginx 会将其视为目录,而不是文件,例如,/images/ 将在 /var/www/html/images/ 目录下查找。
  • alias 指令也定义了文件在文件系统中的基本路径,但与 root 不同,它将 URI 中的匹配部分替换为指定路径。例如,如果请求的 URI 是 /images/logo.png,并且 alias 指令设置为 /var/www/data,则 Nginx 会在文件系统上寻找 /var/www/data/logo.png。

因此,alias 和 root 的主要区别在于它们如何处理请求 URI。使用 root 指令可以将请求 URI 映射到文件系统上的路径,而使用 alias 指令可以将请求 URI 映射到不同的文件系统路径,从而提供更大的灵活性。文章来源地址https://www.toymoban.com/news/detail-596337.html

到了这里,关于nginx部署vue项目,给访问路径加前缀的方法:vue.config.js配置publicPath和nginx配置alias的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法

    由于vue为单页面项目,通过控制组件局部渲染,main.js是整个项目唯一的入口,整个项目都在一个index.html外壳中。 若项目过大,会造成单页面负载过重;同时,多页面利于模块独立部署。 如果项目中不同的页面需要不同的main.js和App.vue这样就需要配置多个入口了。 要单独将页

    2024年01月22日
    浏览(87)
  • 解决:VUE nginx 部署 SSL https访问 WebSocket 问题

    报错1.  Failed to construct \\\'WebSocket\\\': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS. 报错2. 说明: http 是 ws:`ws://192.168.110.33:8080/websocket/${this.$store.state.user.name}` https 是 wss: `wss://alarm.shijiguorui.com:443/websocket/${this.$store.state.user.name}` 1. 服务nginx代理使用http 访问 W

    2024年01月23日
    浏览(84)
  • nginx: 部署前端项目的详细步骤(vue项目build打包+nginx部署)

    目录 第一章 前言 第二章 准备工作 2.1 项目打包理解 2.1.1 打包命令 2.1.2 理解npm run serve/dev 和 npm run build命令 2.2 nginx参数配置理解 2.2.1 nginx常用基本命令 2.2.2 默认配置 2.2.3 搭建不同网站的站点 2.2.4 禁止访问的目录以及一键申请SSL证书验证目录相关设置 2.2.5 根据文件类型设置

    2024年02月04日
    浏览(57)
  • nginx部署本地项目如何让异地公网访问?服务器端口映射配置!

    接触过IIS或apache的小伙伴们, 对 nginx 是比较容易理解的, nginx有点类似,又有所差异,在选择使用时根据自己本地应用场景来部署使用即可。通过一些对比可能会更加清楚了解: 1 . nginx是轻量级,比apache占用更少的内存以及资源 2 . apache对php支持较简单,apache组件比nginx多

    2024年02月16日
    浏览(62)
  • Nginx部署Vue前端项目

    目录 一、安装Nginx 1、安装完成 2、启动Nginx 3、问题 二、修改Nginx配置文件 系统环境:Mac Pro—10.15.7版本 Nginx版本:1.19.6 Nginx的配置文件目录:/usr/local/etc/nginx Nginx的安装目录:/usr/local/Cellar/nginx 可能遇到的报错一:nginx: [error] open() \\\"/usr/local/var/run/nginx.pid\\\" failed (2: No such file

    2024年02月11日
    浏览(41)
  • Nginx部署vue项目配置

    记录一下 Nginx部署vue项目 user root; worker_processes 1; error_log /home/hongtu/web/logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; }

    2024年02月11日
    浏览(36)
  • Vue项目前端部署——nginx方式

    随便在网上找一篇文章,下载安装之后,启动nginx 在项目根目录下 运行npm run build 进行编译打包 打包完成之后,在项目根目录下会多一个dist目录 因为使用到nginx进行代理,所以vue.config.js里面的代理是不会生效的,我们使用nginx来配置反向代理,配置完成保存文件 使用service

    2024年02月12日
    浏览(46)
  • Docker中的Nginx配置代理实现不同url访问多个vue项目

    本篇文章接上回Docker中的Nginx配置代理实现不同url访问vue和springboot项目-CSDN博客 在上篇已经实现可以访问http://ip/qianduan   到我们的vue项目,但是有个问题就是如果多个vue项目在/assets/ 的静态资源文件夹就无法设置, 我试过在nginx里面使用if,try_files,map等使其根据不同请求的

    2024年03月16日
    浏览(60)
  • Vue项目如何打包并部署(nginx)

    使用场景: 我们常使用前后端分离项目时,会需要将前端vue打包然后部署。 一.打包 vue项目其实可以直接通过一下语句进行打包: 默认打包情况如下: 当我们需要将打包名称以及静态资源位置进行修改时便需要进行相应的配置: 1.首先在项目根目录下创建vue.config.js文件 配置内容

    2023年04月26日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包