vue3+vite打包,使用nginx发布,踩坑记录

作者在使用Jeecg-Boot框架部署服务时,遇到在Windows上Nginx无法加载静态资源且无法跳转页面的问题。问题在于Nginx的配置文件中将项目路径误写,导致Nginx在目标路径下寻找vite的打包文件夹。修正方法是确保打包文件夹与配置中的路径一致,即多添加一层文件夹名。

今天用了jeecg-boot的框架部署了新服务,在本地一切正常,使用框架自带的dockerfile启动docker一切正常,但是在windows上用nginx启动时,出现问题

问题:只能访问index.html,但是无法加载任何静态资源,无法跳转页面

原因:nginx.conf的配置写错,具体为项目路径写错

首先看我vite的配置,base公共基础路径为/file-preview-front/

打包文件夹名也为file-preview-fron

目前为止没有问题

下面问题来了

nginx.conf中我把路径写为D:\KCMES_WEB\file-preview-front;

我在系统中的项目路径也为D:\KCMES_WEB\file-preview-front;

 

这就是导致问题的关键,nginx会在目标路径下再寻找vite路径名的文件夹,所以按我这个配置应该将打包文件放在D:\KCMES_WEB\file-preview-front\file-preview-front;

我又建了一层文件夹,正常访问

### 项目打包与部署流程 在 Vue3Vite 结合的项目中,打包和部署通常涉及以下几个关键步骤,包括构建静态资源、配置部署环境以及将打包后的文件部署到服务器。 #### 构建静态资源 Vite 默认使用 Rollup 作为构建工具,输出的文件格式为 ESM(ECMAScript Module),适用于现代浏览器。构建命令通常为 `npm run build`,该命令会生成一个 `dist` 目录,其中包含 HTML、JavaScript、CSS 和静态资源文件。 ```bash npm run build ``` 构建完成后,`dist` 目录结构如下: ``` dist/ ├── assets/ │ ├── main.js │ └── style.css └── index.html ``` 构建过程会自动优化资源,例如压缩 JavaScript 和 CSS 文件,并对图片进行优化处理[^1]。 #### 配置部署环境 在部署前,确保服务器环境支持静态资源的访问。以 Nginx 为例,需将 `dist` 目录中的内容复制到 Nginx 的 `html` 目录下,并修改 `nginx.conf` 配置文件,确保正确指向静态资源路径。 ```nginx server { listen 80; server_name localhost; location / { root /usr/share/nginx/html/dist; index index.html index.htm; try_files $uri $uri/ =404; } } ``` 保存配置后重启 Nginx 服务,即可通过浏览器访问部署后的 Vue3 应用[^2]。 #### 部署到服务器 将构建生成的 `dist` 文件夹内容上传到服务器的指定目录。若使用 Nginx,则上传至 `/usr/share/nginx/html` 或类似路径;若使用 Apache,则上传至 `htdocs` 目录。上传完成后,重启服务器以应用更改。 #### 多环境部署与配置 在实际部署中,可能需要根据不同的环境(如开发、测试、生产)配置不同的 API 地址或行为。Vite 支持通过 `.env` 文件进行环境变量配置,例如: ``` # .env.development VITE_API_URL=http://localhost:3000 # .env.production VITE_API_URL=https://api.example.com ``` 在代码中通过 `import.meta.env.VITE_API_URL` 访问这些变量,实现不同环境下的配置切换。 #### 使用 Spring Boot 集成部署 若项目需与后端服务(如 Spring Boot)集成部署,可将前端构建的 `dist` 目录内容打包为 JAR 文件的一部分。在 Spring Boot 项目中,通常将静态资源放置在 `src/main/resources/static` 目录下,构建后会自动包含在 JAR 包中。执行 Maven 打包命令: ```bash mvn clean package ``` 生成的 JAR 文件包含前端资源,并可通过 `java -jar your-app.jar` 启动服务[^4]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值