【已解决】若依系统前端打包后,部署在nginx上,点击菜单错误:@/views/system/role/index

上面错误,是因为@/views/system/role/index动态路由按需加载时候,错误导致。

解决办法:

如果您的前端项目访问时候,需要带有项目名称的话,参考凯哥上一篇文章:【已解决】若依前后端分离版本,前端项目Nginx部署时候怎么带上应用路径?

先把该修改的都修改后,在来解决这个问题。

凯哥的解决方案如下:

一、将项目中的node_modules 文件夹删除

然后重新

复制代码
# 安装依赖
npm install
# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com

二、修改babel.config.js文件

将现有的都注释掉,替换成下面的:

复制代码
module.exports = {
  presets: [
    // https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
    // '@vue/cli-plugin-babel/preset'
    '@vue/babel-preset-jsx',
    [ '@babel/preset-env',
      {
        'useBuiltIns': 'entry',
        'corejs': 3
      }]
  ],

  'env': {
    'development': {
      // babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require().
      // This plugin can significantly increase the speed of hot updates, when you have a large number of pages.
      'plugins': ['dynamic-import-node']
    },
  }
}

三、在对应的环境配置文件中添加。凯哥现在使用的是

npm run build:prod 命令构建的。这是生产环境的。所以,凯哥就修改.env.production配置文件,添加如下两句:

复制代码
BABEL_ENV = production
NODE_ENV = production

配置完成之后,重新安装执行

复制代码
# 构建生产环境
npm run build:prod

将重新生成的dist文件夹放到nginx上面,然后重新访问。登录,点击菜单就正常了。

如果还是不可以的话,参考:动态路由按需加载-Cannot find module · Issue #I4PZJF · 若依/RuoYi-Vue - Gitee.com

相关推荐
LlNingyu18 小时前
文艺复兴,什么是CSRF,常见形式(二)--SameSite属性
前端·网络·安全·web安全·csrf
紫_龙18 小时前
最新版vue3+TypeScript开发入门到实战教程之组件通信之一
前端·vue.js·typescript
姚永强18 小时前
在虚拟机添加磁盘和自动挂载
运维
yivifu18 小时前
接近完美的HTML文本双行合一排版
前端·javascript·html·双行合一
fxshy18 小时前
前端直连模型 vs 完整 MCP:大模型驱动地图的原理与实践(技术栈Vue + Cesium + Node.js + WebSocket + MCP)
前端·vue.js·node.js·cesium·mcp
鹏程十八少18 小时前
10. Android Shadow是如何实现像tinker热修复动态修复so(源码解析)
android·前端·面试
弘毅 失败的 mian18 小时前
Linux 进程属性详解
linux·运维·服务器·经验分享·笔记
destinying18 小时前
性能优化之项目实战:从构建到部署的完整优化方案
前端·javascript·vue.js
AI成长日志18 小时前
【实用工具教程专栏】GitHub Actions自动化工作流入门(基础篇)
运维·自动化·github
我命由我1234518 小时前
React - React Redux 数据共享、Redux DevTools、React Redux 最终优化
前端·javascript·react.js·前端框架·ecmascript·html5·js