vue history 模式打包部署在域名的二级目录的配置指南

最近在做项目,需要把项目部署在域名下的二级目录,并且是在用vue-router的history 模式。

  我们都知道vue-router 的两种前端基本访问模式 hash 和history 。hash 模式后面带#,打包的时候只需要把绝对路径(/)换成相对对路径(./),就可以部署在任何地方,不需要服务器配合,但是不好看,所以我们一般选择history 模式,但是history 模式需要配合服务器的部署。

 

本文主要是在vue-cli3版本下,对部署在域名的二级目录下做四处的配置:

1. vue-router 路由的文件的配置,根据自己部署的二级目录填写 

export default new VueRouter({
  mode: "history",
  base: "/web",

 

2.在vue.config.js配置文件(如果没有新建一个,项目根目录下)

 注意: baseUrl 从 Vue CLI 3.3 起已弃用,请使用publicPath

module.exports = {
  publicPath: "/web"
}

 

3.在入口文件中index.html 的head 标签内加入

<meta base ="/web/">

 

4.最后就是部署配置,以nginx 为例

server {
    listen 80;
    server_name localhost;
    root /home/wwwroot/;
    location /web {
        try_files $uri $uri/ /web/index.html;
    }
}
 

到此,配置和部署已经完成了,将打包好的前端静态资源放在域名指定的根目录下的二级(多级目录配置同上)录即可,

注意,以上配置是针对在history模式,部署在域名下的二级目录以上的 配置,hash 模式 和 history 模式部署在域名根目录不需要那么多配置

本人测试过部署过,只要按照以上配置四个地方,完全没有问题,但是有不对之处,还请大家指出,谢谢....

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
vue2中,如果要在部署时使用路由的history模式,并且要将应用部署二级目录中,需要进行以下配置。 首先,在vue项目的根目录下找到并打开`vue.config.js`文件,如果没有则需要新建一个。 然后,在`vue.config.js`文件中进行如下配置: ```javascript module.exports = { publicPath: '/二级目录名称/' } ``` 其中,`二级目录名称`即你希望应用部署在的二级目录的名称,例如如果希望部署在`www.example.com/myapp/`下,则`二级目录名称`应为`myapp`。 接下来,在路由配置文件中,通常是`src/router/index.js`文件中,需要设置`base`选项,指定应用的基础 URL。 ```javascript import Vue from 'vue' import Router from 'vue-router' import Home from '@/views/Home.vue' Vue.use(Router) export default new Router({ mode: 'history', base: '/二级目录名称/', routes: [ { path: '/', name: 'Home', component: Home } ] }) ``` 在这里,将`mode`设置为`history`,表示使用history模式;将`base`设置为`'/二级目录名称/'`,与之前的配置保持一致。 这样,在部署项目时,将整个项目文件夹拷贝至服务器的二级目录中,并配置好服务器的相关环境,就可以通过访问`www.example.com/二级目录名称/`来访问应用了。 需要注意的是,使用history模式需要服务器的支持,例如针对Apache服务器,需要配置`mod_rewrite`模块,以确保应用能够正确处理路由。如果你使用的是其他类型的服务器,可以查阅相关文档来了解如何配置。 以上就是在vue2中使用路由的history模式部署二级目录中的方法。希望对你有帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值