草庐IT

vue2项目实战/通用后台管理系统 项目总结(附代码)

我先润了 2023-12-20 原文

​​​​​​项目来源:【前端项目/vue项目实战/vue+element-ui/vue经典案例分享/紧贴实战的vue经典案例-哔哩哔哩】​​​​​​

目录

安装报错:

报错:Error: EPERM: operation not permitted, mkdir...

报错:ERROR ~/.vuerc may be outdated. Please delete it and re-run vue-cli in manual mode.

报错:npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

报错: Component name "Home" should always be multi-word  vue/multi-word-component-names

CommonHeader组件文字显示问题

用户管理表格显示高度问题

表格编辑弹窗中点击取消仍然修改改行数据

表格编辑后再次点开其它行的编辑弹窗仍然显示第一次的信息

 删除弹窗点击确定仍未删除改行数据

报错:Unexpected mutation of "config" prop.

登录按钮无法居中

报错:name: "NavigationDuplicated", message: "Navigating to current location ("/") is not allowed", stack: "Error

报错:Error in created hook: "TypeError: router.addRoute is not a function"

报错:Route with name 'home' does not exist

代码已经上传至:https://gitee.com/liheng103/vue-manage   欢迎star!


安装报错:

解决方法:前几p一定要开弹幕,弹幕里会提醒安装什么版本会解决报错

版本参考:

 "dependencies": {
    "axios": "^0.26.1",
    "core-js": "^3.8.3",
    "echarts": "^5.1.2",
    "element-ui": "^2.15.8",
    "js-cookie": "^3.0.1",
    "less": "^4.1.2",
    "less-loader": "^6.0.0",
    "mockjs": "^1.1.0",
    "vue": "^2.6.14",
    "vue-router": "^3.5.2",
    "vuex": "^3.6.2"
  },
  "devDependencies": {
    "@babel/core": "^7.12.16",
    "@babel/eslint-parser": "^7.12.16",
    "@vue/cli-plugin-babel": "~5.0.0",
    "@vue/cli-plugin-eslint": "~5.0.0",
    "@vue/cli-service": "~5.0.0",
    "babel-plugin-component": "^1.1.1",
    "eslint": "^7.32.0",
    "eslint-plugin-vue": "^8.0.3",
    "vue-template-compiler": "^2.6.14"
  },

报错:Error: EPERM: operation not permitted, mkdir...

参考文章:关于Error: EPERM: operation not permitted, mkdir...几种解决办法的比较

报错:ERROR ~/.vuerc may be outdated. Please delete it and re-run vue-cli in manual mode.

解决方法:跟着提示,删除~/.vuerc文件

报错:npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

情况1.  没有全局安装npm

解决方法: 全局安装npm

情况2.  全局安装目录没有加入系统环境变量Path中

解决方法:全局安装后,配置环境变量后重启

情况3.  需要用管理员身份运行

参考文章:npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

报错: Component name "Home" should always be multi-word  vue/multi-word-component-names

原因:语法检查的时候把不规范的代码(即命名不规范)当成了错误

1. 改成使用大驼峰或使用“-”衔接命名

2. 或者在vue.config.js中加入lintOnSave:false用于关闭语法检查(但我不知道为啥这个方法不起作用)

 

CommonHeader组件文字显示问题

 原因:el-breadcrumb默认颜色和背景色相似,遮盖了文字

解决方法:修改el-breadcrumb样式

<style lang="less" scoped>
    ::v-deep .el-breadcrumb__inner.is-link {
      color: gray;
    }
    ::v-deep .el-breadcrumb__item:last-child .el-breadcrumb__inner {
      color: #fff;
    }
</style>

效果

用户管理表格显示高度问题

原因: 最外层div没有设置高度

解决方法:最外层div加上高度

.manage {
  height: 100%;
}

表格编辑弹窗中点击取消仍然修改改行数据

原因:是vue双向数据绑定的弊端,实时更新数据,因为是一个数据源,修改对象的时候,对象指针直接指向页面数据了

解决方法:改成this.operateForm = { ...row }

表格编辑后再次点开其它行的编辑弹窗仍然显示第一次的信息

 原因:未清空表单数据

解决方法:v-if和visible.sync写一样的变量(个人认为v-if操作dom元素其实相当于清空了表单初始值)

参考资料:vue项目子组件每次打开显示的都是上一次的内容怎么办

 删除弹窗点击确定仍未删除改行数据

原因:未知

解决方法:将post改成get

报错:Unexpected mutation of "config" prop.

原因:在子组件内,不可以直接将 prop 的变量应用于子组件深层次组件的 v-model 上(因为 v-model 会隐含的对 prop 值更新)

解决方法:将config通过中间变量进行 v-model化,再把中间变量传入子组件深层次组件的 v-model 

 <el-pagination
      class="pager"
      layout="prev,pager,next"
      :total="localconfig.total"
      :current-page.sync="localconfig.page"
      @current-change="changePage"
      :page-size="20"
 ></el-pagination>

props: {
    tableData: Array,
    tableLabel: Array,
    config: Object,
},
data () {
    return {
      localconfig: this.config,
    };
},

登录按钮无法居中

原因:el-form-item包括了label的宽度,所以按钮左右设置auto其实是设置el-form-item的宽度减预留给label的宽度之后的居中

解决方法:设置此el-form-item的label-width="0"

报错:name: "NavigationDuplicated", message: "Navigating to current location ("/") is not allowed", stack: "Error

原因:vue路由跳转相同的地址,在当前路由下重复当前路由

解决方法:在router下的index.js 文件中添加如下内容

const routerPush = Router.prototype.push
Router.prototype.push = function push (location) {
  return routerPush.call(this, location).catch(error => error)
}

报错:Error in created hook: "TypeError: router.addRoute is not a function"

原因:可能是因为安装依赖的时候用的npm 但是npm安装的包里面的route 原型里面没有addRoute的方法,所以报错

解决方法:先npm uninstall vue-router卸载vue-router,再cnpm install vue-router@3.5.2用cnpm安装

注意点:卸载再安装之后要重启项目,不然可能报错找不到vue-router

报错:Route with name 'home' does not exist

可能原因:

1. index.js中配置路由的 name 大小写的问题

2. 跟着敲代码的时候敲错了(真的很多都是这个问题)

解决方法:

多检查多检查

代码已经上传至:https://gitee.com/liheng103/vue-manage   欢迎star!

有关vue2项目实战/通用后台管理系统 项目总结(附代码)的更多相关文章

  1. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  2. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  3. ruby-on-rails - Rails 源代码 : initialize hash in a weird way? - 2

    在rails源中:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb可以看到以下内容@load_hooks=Hash.new{|h,k|h[k]=[]}在IRB中,它只是初始化一个空哈希。和做有什么区别@load_hooks=Hash.new 最佳答案 查看rubydocumentationforHashnew→new_hashclicktotogglesourcenew(obj)→new_has

  4. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  5. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  6. ruby-on-rails - 浏览 Ruby 源代码 - 2

    我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru

  7. ruby - 模块嵌套代码风格偏好 - 2

    我的假设是moduleAmoduleBendend和moduleA::Bend是一样的。我能够从thisblog找到解决方案,thisSOthread和andthisSOthread.为什么以及什么时候应该更喜欢紧凑语法A::B而不是另一个,因为它显然有一个缺点?我有一种直觉,它可能与性能有关,因为在更多命名空间中查找常量需要更多计算。但是我无法通过对普通类进行基准测试来验证这一点。 最佳答案 这两种写作方法经常被混淆。首先要说的是,据我所知,没有可衡量的性能差异。(在下面的书面示例中不断查找)最明显的区别,可能也是最著名的,是你的

  8. ruby - 寻找通过阅读代码确定编程语言的ruby gem? - 2

    几个月前,我读了一篇关于ruby​​gem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:

  9. ruby-on-rails - 获取 inf-ruby 以使用 ruby​​ 版本管理器 (rvm) - 2

    我安装了ruby​​版本管理器,并将RVM安装的ruby​​实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby​​。有没有办法让emacs像shell一样尊重ruby​​的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el

  10. Ruby 从大范围中获取第 n 个项目 - 2

    假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit

随机推荐