Vue SPA项目在非网站根目录的部署方法

简介: 在开发vue项目的时候,大多都是spa单页面应用,需要部署到服务器根目录;但有时候我们需要部署到其他路径,例如:/app/内怎么才能实现呢?1、修改配置文件config/index.js{ build: { assetsPublicPath: '/app/', }}router/index.

在开发vue项目的时候,大多都是spa单页面应用,需要部署到服务器根目录;但有时候我们需要部署到其他路径,例如:/app/
怎么才能实现呢?

1、修改配置文件

config/index.js
{
  build: {
    assetsPublicPath: '/app/',
  }
}

router/index.js
let router = new Router({
  mode: 'history',
  base: '/app/', // 保持和assetsPublicPath路径一致
  scrollBehavior (to, from, savedPosition) {
    if (savedPosition) {
      return savedPosition
    } else {
      return { x: 0, y: 0 }
    }
  },
  routes
})

2、修改nginx配置

    server {
        listen       9000; // 开启一个服务,监听9000端口
        # listen       somename:8080;
        #server_name  somename  alias  another.alias;

        location / {
            root /Users/kaixie/code/server; // 设置服务器根目录
            try_files $uri $uri/ /app/index.html; // 把所有请求都返回/app/index.html
        }

        location /api {
            proxy_pass   http://localhost:2002;

        }
    }

思考:怎么才能在一个nginx服务里配置两个项目呢?访问根目录是一个项目,访问app路径是一个项目

如下配置

 server {
        listen       9000;
        # listen       somename:8080;
        #server_name  somename  alias  another.alias;

        location / { // 监听根目录访问,这里返回的是正常的spa项目
            root /Users/kaixie/code/server;
            try_files $uri  $uri/ /index.html;
        }
        location /app { // 监听 app路径的访问, 访问路径处理过的spa项目
            root /Users/kaixie/code/server;
            try_files $uri  $uri/ /app/index.html;
        }

        location /api {
            proxy_pass   http://localhost:2002;

        }
    }
相关文章
|
21天前
|
JavaScript
vue使用iconfont图标
vue使用iconfont图标
111 1
|
1天前
|
存储 设计模式 JavaScript
Vue 组件化开发:构建高质量应用的核心
本文深入探讨了 Vue.js 组件化开发的核心概念与最佳实践。
10 1
|
1天前
|
资源调度 JavaScript 前端开发
创建vue3项目步骤以及安装第三方插件步骤【保姆级教程】
这是一篇关于创建Vue项目的详细指南,涵盖从环境搭建到项目部署的全过程。
13 1
|
1月前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
2月前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱前端的大一学生,专注于JavaScript与Vue,正向全栈进发。博客分享Vue学习心得、命令式与声明式编程对比、列表展示及计数器案例等。关注我,持续更新中!🎉🎉🎉
57 1
vue学习第一章
|
2月前
|
JavaScript API 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
2月前
|
JavaScript 前端开发 开发者
Vue是如何劫持响应式对象的
Vue是如何劫持响应式对象的
65 18
|
2月前
|
JavaScript 前端开发 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
2月前
|
存储 JavaScript 前端开发
介绍一下Vue的核心功能
介绍一下Vue的核心功能
|
2月前
|
JavaScript 前端开发 API
介绍一下Vue中的响应式原理
介绍一下Vue中的响应式原理
45 1