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日
    浏览(77)
  • 解决: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日
    浏览(63)
  • 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日
    浏览(43)
  • nginx部署本地项目如何让异地公网访问?服务器端口映射配置!

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

    2024年02月16日
    浏览(44)
  • 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日
    浏览(32)
  • 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日
    浏览(28)
  • Vue项目前端部署——nginx方式

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

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

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

    2024年03月16日
    浏览(46)
  • Docker使用nginx部署VUE项目

    目录 一、安装Docker和一些基本Docker命令 二、打包VUE项目 三、写nginx配置文件 四、写Dockerfile文件 五、构建镜像 六、运行容器 七、挂载目录 八、使用docker-compose部署项目 总结 安装略,基本指令如下: vue项目根目录进入终端输入npm run build打包项目,在项目根目录会生成一个

    2024年02月07日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包