若依框架前端打包踩坑

2023-11-09

官网:
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模式后台要进行配置,具体查看以上链接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

若依框架前端打包踩坑 的相关文章

随机推荐

  • verilog中include的用法

    Verilog 的 include和C语言的include用法是一样一样的 要说区别可能就在于那个点吧 include一般就是包含一个文件 对于Verilog这个文件里的内容无非是一些参数定义 所以 这里再提几个关键字 ifdef defi
  • Oracle入门笔记(五)——Oracle表间关系、SQL语句、基本函数

    Oracle表间关系 SQL语句 基本函数 1 引言 2 数据库的收费问题 3 数据库对SQL标准的兼容性 4 SQL语言的种类 5 Oracle中的HR用户 6 Oracle中基本的SQL语句的使用 7 Oracle中基本函数的使用 1
  • 嵌入式 十个最值得阅读学习的C开源项目代码

    Webbench Webbench是一个在linux下使用的非常简单的网站压测工具 它使用fork 模拟多个客户端同时访问我们设定的URL 测试网站在压力下工作的性能 最多可以模拟3万个并发连接去测试网站的负载能力 Webbench使用C语
  • ICT(计算机通信电子自动化等)专业区别和联系

    ICT 是IT和CT的统称 IT 是信息技术 CT是通信技术 IT 开设的专业主要有 计算机科学与技术 软件工程 信息安全 等 CT 开设的专业有 电子信息工程 自动化 通信工程 光电信息科学与工程 物联网工程 等 区别和联系看专业课就能知
  • 图片验证码之中英文数字混合输入验证的综合应用(python3.X)

    中文验证码生成的案例点击查看 数字英文验证码生成的案例点击查看 这篇用之前学的内容分别生成四位由数字 英文大写字母 英文小写字母和中文汉字随机排列的字符串验证码 使验证码更具其合理性 新增加内容有 1 pip install captcha
  • 小怿和你聊聊V2X测试系列之 如何实现C-V2X HIL测试(2022版)

    在我们2021年的V2X专题分享系列中 分别给大家介绍了 V2X应用场景 V2X仿真测试 以及一篇 V2X HIL测试 分阶段的进行V2X业务的知识普及 大家肯定记忆犹 新 马上关注下怿星科技公众号 搜索关键词V2X 今天尼 我们在这里为大
  • Linux:使用bash脚本分析日志(交易信息日志分析)

    使用bash脚本分析日志 背景 线上交易程序不能轻易修改代码 以防止出现不必要的错误 但于此同时 在进行交易信息分析时 部分需要根据原始数据计算才能得到的指标无法直接获取 而且日志信息比较杂乱 不便汇总分析 因此可以使用bash脚本对日志进
  • Dijkstra最短路径算法构造的生成树是否一定为最小生成树

    Dijkstra最短路径算法构造的生成树是否一定为最小生成树 问题描述 一连通无向图 边为非负权值 问用Dijkstra最短路径算法能否给出一棵生成树 这树是否一定为最小生成树 说明理由 解答 Dijkstra最短路径算法能够给出一棵生成树
  • 《深度学习中的字符识别在工业视觉中的实际应用》

    最近在公司做了一个构建卷积神经网络来识别字符的项目 编程环境为pycharm2019 使用的是OpenCv Pytorch进行项目的实现 因此想总结和归纳一下方法 本次的字符识别项目可以分为以下几个步骤 一 图像处理和字符分割 二 创建自己
  • Linux文件权限学习笔记

    文件权限共10个字符 第一个字符表示该文件是 文件夹 或 文件 如果是字符 d 则表示该文件是文件夹 如果是字符 则表示是文件 后九个字符 三个一组 共三组 分别表示 所有者权限 所属组权限 其他人的权限 固定位置固定字符 rwx 分别表示
  • Cpp学习——list的模拟实现

    目录 一 实现list所需要包含的三个类 二 三个类的实现 1 list node 2 list类 3 iterator list类 三 功能实现 1 list类里的push back 2 iterator类里的运算符重载 3 list类里
  • Centos7.5配置iptables防火墙-网络系统管理赛项

    废话不多说 直接上真题 这是2021年6月国赛Linux模块的IspSrv的工作任务 唯一不同的是我们要拿centos7 5来做 准备工作 一台安装centos7 5系统的虚拟机 需要提前配置好yum源以及安装ssh服务 这里ssh工具使用
  • 毕业设计 - 基于stm32的示波器设计

    文章目录 1 简介 2 主要器件 3 实现效果 4 设计原理 5 部分实现代码 6 最后 1 简介 Hi 大家好 今天向大家介绍一个学长做的单片机项目 基于stm32的示波器设计 大家可用于 课程设计 或 毕业设计 2 主要器件 3 实现效
  • 别了 摩托罗拉

    别了 摩托罗拉 仅仅在10年前 摩托罗拉还一直是引领尖端技术和卓越典范的代表 享有着全球最受尊敬公司之一的尊崇地位 它一度前无古人地每隔10年便开创一个工业 有的10年还开创两个 但当这些工业兴盛起来 进入寡头竞争的成熟阶段之后 它却遭遇一
  • Postman工具——环境变量与全局变量

    转载请注明出处 http blog csdn net water 0815 article details 53326990 本文同步发表于我的微信公众号和简书社区 微信公众号 惜福 xifu forever 扫一扫文章底部的二维码即可关注
  • 使用popen实现system函数功能

    之前写Linux应用程序的时候 最喜欢使用system命令了 后来发现这个命令使用需要很谨慎 之前使用该命令来进行MD5校验 通过返回值来判断校验是否成功不够严谨 有时候因为system调用MD5sum文件不存在导致的错误 应用并不能够直观
  • LeetCode 200. 岛屿数量(C++)

    题目地址 力扣 思路 我们从题目中可以得知 孤立的岛屿旁边全是海 假设岛屿范围内每一个 1 是岛屿的一部分 那么我们从岛屿的任意一部分登岛 走遍岛屿的每一块土地 就能确定岛屿的大小和范围 为了找遍所有的岛屿 我们还需要把走过的土地都标记为0
  • 音频常见问题总结

    音频文件在播放时出现断断续续或类似 爆破 Pop Click 杂音的现象 称之为 Xrun 可以是 underrun 也可以是 overrun 原因 通常来说 出现 Xrun 问题时原因可能是以下几个之一 1 Linux CFS 调度器导致
  • el-select下拉框多选远程搜索反显

  • 若依框架前端打包踩坑

    官网 http www ruoyi vip 目录 一 下载并运行项目 二 关于 若依 接口地址配置 2 1 若依的跨域代理介绍 2 2 配置跨域代理 调用后台接口 2 2 1 配置 后台 ip 地址 2 2 2 页面报 系统接口404 错误