vue-历史模式部署

项目部署

本项目采用nginx进行部署,历史模式的部署需要服务端的配合,本次采用nginx进行配合。

1 配置

bash 复制代码
const basePath = process.env.VUE_APP_BASE_PATH;
module.exports = {
  publicPath: basePath #静态资源的路径 /ecology/
}

2 创建路由

bash 复制代码
const createRouter = baseRouter => {
  const router = new VueRouter({
    #/ecology 
    base: baseRouter || process.env["VUE_APP_BASE_PATH"].slice(0, -1),
    mode: "history",
    routes: [...constantRoutes, ...asyncRoutes]
  });
  return router;
};

3 nginx配置

bash 复制代码
location /ecology {
  root html;
  index index.html index.htm;
  #这个配置的含义为:当请求到这个路径下面时/ecology/main/overview 会首先去这个路径下访问index.html如果有则返回这个静态资源
  #如果没有 继续向后匹配 nginx内部重新定向到 /ecology/indexl.html 这样的话就相当于重定向到了首页,此时携带了路径参数/main/overview,就会触发vue路由的工作。其实这样也可以只写/ecology/index.html就已经完全足够。
  try_files  $uri $uri/  /ecology/index.html; 
}

http://11.2.19.11:8088/ecology/main/overview

$uri:/ecology/main/overview

$request_uri:http://11.2.19.11:8088/ecology/main/overview

try_files: 官方文档

特别注意的是:静态资源路径,路由路径和nginx Location的路径一定要保持一致。

相关推荐
理人综艺好会15 小时前
Web学习之用户认证
前端·学习
●VON15 小时前
React Native for OpenHarmony:项目目录结构与跨平台构建流程详解
javascript·学习·react native·react.js·架构·跨平台·von
We་ct16 小时前
LeetCode 36. 有效的数独:Set实现哈希表最优解
前端·算法·leetcode·typescript·散列表
爱吃大芒果16 小时前
Flutter for OpenHarmony 实战:mango_shop 路由系统的配置与页面跳转逻辑
开发语言·javascript·flutter
qq_1777673716 小时前
React Native鸿蒙跨平台实现消息列表用于存储所有消息数据,筛选状态用于控制消息筛选结果
javascript·react native·react.js·ecmascript·harmonyos
weixin_3954489116 小时前
main.c_cursor_0129
前端·网络·算法
沐雪架构师16 小时前
LangChain 1.0 Agent开发实战指南
开发语言·javascript·langchain
2501_9400078916 小时前
Flutter for OpenHarmony三国杀攻略App实战 - 战绩记录功能实现
开发语言·javascript·flutter
摘星编程16 小时前
React Native + OpenHarmony:自定义useEllipsis省略号处理
javascript·react native·react.js
2401_8590490816 小时前
git submodule update --init --recursive无法拉取解决
前端·chrome·git