vue3 history模式的nginx以及环境变量配置

环境变量配置

.env.prod

JavaScript 复制代码
BASE_URL='/user'

.env.sit

JavaScript 复制代码
BASE_URL='/user'

代码里配置

vue.config.js

JavaScript 复制代码
const { defineConfig } = require('@vue/cli-service');
module.exports = defineConfig({
  transpileDependencies: true,
  publicPath: process.env.BASE_URL,
  })

router/index.js

JavaScript 复制代码
import { createRouter, createWebHistory } from 'vue-router';
import routes from './router.config';
const router = createRouter({
 history: createWebHistory(process.env.BASE_URL),
 routes,
});
export default router;

nginx上配置

比如服务器上项目统一放在app目录下

打开app文件夹,一台服务器可能部署多个项目,就需要给每个项目单独命名一个文件夹,每个项目又有前后端代码。

到这里,如果我们使用的是hash路由,项目已经可以进行访问了,只是有#号,比较丑,路径为: XXXX.XXX.XX/user/#/inde...

想要去掉这个就要使用history模式,并且在nginx中进行配置,如果不配置也能访问,但是刷新后404,nginx的配置如下:

JavaScript 复制代码
   location /user{
      alias   /app/user/front/dist;
      try_files $uri $uri/ /user/index.html;
                autoindex on;
    }

访问的方式变为: XXXX.XXX.XX/user/index (无论怎么刷新都不会有错误,这里最好还要在nginx统一配置错误页面4xx、5XX或者在前端项目里进行路由匹配,不然访问的页面找不到或者崩溃 提示不友好,用户看不明白)。

end

相关推荐
代码匠心14 小时前
AI 自动编程:一句话设计高颜值博客
前端·ai·ai编程·claude
_AaronWong15 小时前
Electron 实现仿豆包划词取词功能:从 AI 生成到落地踩坑记
前端·javascript·vue.js
cxxcode15 小时前
I/O 多路复用:从浏览器到 Linux 内核
前端
用户54330814419415 小时前
AI 时代,前端逆向的门槛已经低到离谱 — 以 Upwork 为例
前端
JarvanMo15 小时前
Flutter 版本的 material_ui 已经上架 pub.dev 啦!快来抢先体验吧。
前端
恋猫de小郭16 小时前
AI 可以让 WIFI 实现监控室内人体位置和姿态,无需摄像头?
前端·人工智能·ai编程
哀木16 小时前
给自己整一个 claude code,解锁编程新姿势
前端
程序员鱼皮16 小时前
GitHub 关注突破 2w,我总结了 10 个涨星涨粉技巧!
前端·后端·github
UrbanJazzerati16 小时前
Vue3 父子组件通信完全指南
前端·面试
是一碗螺丝粉16 小时前
5分钟上手LangChain.js:用DeepSeek给你的App加上AI能力
前端·人工智能·langchain