若依框架前端打包踩坑

官网:
http://www.ruoyi.vip/

目录

一、下载并运行项目

二、关于 若依 接口地址配置

2.1 若依的跨域代理介绍

2.2 配置跨域代理,调用后台接口

2.2.1 配置 后台 ip 地址

2.2.2 页面报“系统接口404”错误

三、打包配置

3.1 打包之后静态资源404

3.2 登录页登录成功之后 vue 版菜单点不开,报错:Error: Cannot find module ‘@/views/system/user/index’

3.3 登录之后跳转页面显示 404

一、下载并运行项目
进入官网 → 点击“源码地址” → 点击“RuoYi-Vue前端分离版” → 复制Git地址(
https://gitee.com/y_project/RuoYi-Vue.git
)→ 新建文件夹,在该文件夹中打开Git小乌龟输入:git clone 地址

     下载完成之后,找到“ruoyi-ui”文件夹,进入“ruoyi-ui”文件夹,在该文件夹下下载依赖“npm install”,这一步建议在 VsCode 终端中进行,防止出错。接下来在VsCode 终端里输入“npm run dev”就能运行该项目了。

二、关于 若依 接口地址配置
npm run dev 打开项目后,报接口404:

2.1 若依的跨域代理介绍
原因是项目配置的接口是 localhost上 的,本地没有这个接口,肯定会报404。调用后台接口,在本地运行需要修改配置。

    若依的接口配置采用的跨域代理,跟我们平时项目中做的跨域代理一样,也是在 根目录/vue.config.js 中配置。点击文件中注释的 detail 的链接就可以打开

vue.config.js配置文档

vue.config.js 中配置属性具体的值 :
DevServer | webpack 中文文档

devServer:跨域代理的相关配置
host:指定要使用的 host。如果你想让你的服务器可以被外部访问:host: ‘0.0.0.0’
port::指定监听请求的端口号
open:告诉 dev-server 在服务器已经启动后打开浏览器。设置其为 true 以打开你的默认浏览器。
proxy:关于devServer.proxy配置-【
DevServer | webpack 中文文档

对照以下示例,就能明白 若依 中这个跨域代理是怎么回事:
pathRewrite:将 target 部分重写路径,即将 /api 替换成:target+pathRewrite中“^/api”的值,如上,请求接口地址变成了:http:AA.BB.CC.DD:端口//connect。
[process.env.VUE_APP_BASE_API]:这个值来自根目录下的 .env.development, .env.production, .env.staging 这 3 个文件,分别代表:开发环境、生产环境、预生产环境。

如上分析,我们现在是在开发环境下打开的,仔细观察报404接口错误的地方,请求网址是:http://localhost:81/dev-api/getInfo ,其中“/dev-api”来自 .env.development 文件中设置的 VUE_APP_BASE_API 的值。
target:指向接口请求地址。
2.2 配置跨域代理,调用后台接口
2.2.1 配置 后台 ip 地址
根据 2.1 中的介绍,要调用后台接口,我们只要将 target 的值修改为 后台 ip 地址和端口号。修改完成之后,需要重新启动项目(npm run dev),接口请求地址才会改变。

    需要注意一个地方:后台如果是通过前端打包(npm run build:stage)过去部署到他们后台本地上的,那么他们访问的接口地址是:ip:端口号/stage-api/接口名称,而前端修改 target 后在本地访问后台接口的地址是:ip:端口号/dev-api/接口名称,仍然会造成接口 404。所以我们最好是将 .env.development, .env.production, .env.staging 这 3 个文件的 VUE_APP_BASE_API 的值统一改成 相同的值,我这里改成了“warehouse-qr”。

2.2.2 页面报“系统接口404”错误
页面显示空白,且报404:

如上,检查请求头是否有缓存,若有缓存,清除缓存并刷新。
页面显示,验证码空白,且报404:

此时还报404错误,确认一下接口地址是否正确。
如果后台能访问,但是前端404,那么问题就出在前端这,看下图ip访问地址:已经确认后台地址“
ip:端口号/warehouse-qr/captchaImage
”能访问,而此时我们在 vue.config.js 中的配置信息为:,就算我们在 .env.development.js 中配置了proxy的值“warehouse-qr”,也只是代表我们在前端接口中调用“warehouse-qr”,路径重定向到了 “后台ip地址:端口号”,因为 pathRewrite 后面的值为:“”空字符串(具体可参照 2.1)。因此 这里还要给 pathRewrite 值设置一下:
三、打包配置
3.1 打包之后静态资源404

    这个与 vue.config.js 中的 publicPath 静态资源访问路径有关。



    原代码中配置的是绝对路径,如果不是部署到服务器的根目录下,那么静态资源会报404,将publicPath 在生产环境下的值改为“./”再重新打包就好了。publicPath: process.env.NODE_ENV === "production" ? "./" : "/",

3.2 登录页登录成功之后 vue 版菜单点不开,报错:Error: Cannot find module ‘@/views/system/user/index’
若依vue版菜单点不开 Error Cannot find module ‘@viewssystemuserindex‘_过的很好谢谢的博客-CSDN博客

    在开发环境,登录没什么问题,到了生产环境,登录进不去首页,还报上述错误。在 /src/store/modules/permission.js 文件中查找“loadview”:



    将上面 import 实现生产环境的路由懒加载改为“return (resolve) => require([`@/views/${view}`], resolve)”,如下图:

3.3 登录之后跳转页面显示 404
账户登录之后跳转页面直接显示404,为什么? · Issue #I3RMTB · 若依/RuoYi-Cloud - Gitee.com

    将路由模式改成“hash”模式,如果不想要hash模式,history模式后台要进行配置,具体查看以上链接。
### 关于如何使用 Docker 部署 Ruoyi-Cloud-Plus 项目的指南 #### 准备工作 为了能够顺利部署 Ruoyi-Cloud-Plus 项目,需先安装并配置好 Docker 环境。对于 CentOS 用户来说,可以通过如下命令来添加官方的 Docker 软件源: ```bash yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ``` 这一步骤确保了后续可以获取到最新版本的 Docker 及其组件[^2]。 #### 构建镜像 构建自定义的 Docker 镜像是整个流程中的重要环节之一。针对 `ruoyi-auth` 组件而言,具体操作指令如下所示: ```bash docker build -t ruoyi-auth:v1 -f Dockerfile . ``` 上述命令会读取当前目录下的 `Dockerfile` 文件,并以此为基础创建名为 `ruoyi-auth:v1` 的新镜像。完成之后可通过下面这条命令验证是否成功生成目标镜像: ```bash docker images | grep ruoyi ``` 如果一切正常,则应该能看到刚刚制作好的镜像记录[^1]。 #### 运行容器实例 有了之前准备好的镜像文件后,下一步就是启动实际运行的应用程序容器了。考虑到不同模块可能有不同的端口映射需求以及环境变量设置,在此仅给出通用形式作为参考: ```bash docker run -d \ --name=ruoyi-auth-container \ -p host_port:container_port \ -e SPRING_PROFILES_ACTIVE=docker \ ruoyi-auth:v1 ``` 请注意替换其中的 `host_port`, `container_port` 参数值以匹配实际情况;同时 `-e` 后面的部分用于指定应用内部使用的特定参数配置项[^3]。 #### 总结与注意事项 通过以上几个主要步骤的操作指导,已经大致涵盖了利用 Docker 技术手段快速搭建起一套基于云原生架构设计模式下开发出来的现代化企业级互联网平台——即 Ruoyi-Cloud-Plus 应用系统的全过程。当然,在实践过程中还需要关注更多细节方面的要求,比如网络连接方式的选择、数据持久化方案的设计等。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值