关注

手摸手,带你用vue撸后台 系列一(基础篇)

完整项目地址:vue-element-admin

系列文章:

  • 手摸手,带你用 vue 撸后台 系列一(基础篇)
  • 手摸手,带你用 vue 撸后台 系列二(登录权限篇)
  • 手摸手,带你用 vue 撸后台 系列三 (实战篇)
  • 手摸手,带你用 vue 撸后台 系列四(vueAdmin 一个极简的后台基础模板)
  • 手摸手,带你用 vue 撸后台 系列五(v4.0 新版本)
  • 手摸手,带你封装一个 vue component
  • 手摸手,带你优雅的使用 icon
  • 手摸手,带你用合理的姿势使用 webpack4(上)
  • 手摸手,带你用合理的姿势使用 webpack4(下)

前言

说好的教程终于来了,第一篇文章主要来说一说在开始写实际业务代码之前的一些准备工作吧,但这里不会教你 webpack 的基础配置,热更新原理是什么,webpack速度优化等等,有需求的请自行 google,相关文章已经很多了。

目录结构

├── build                      // 构建相关
├── config                     // 配置相关
├── src                        // 源代码
│   ├── api                    // 所有请求
│   ├── assets                 // 主题 字体等静态资源
│   ├── components             // 全局公用组件
│   ├── directive              // 全局指令
│   ├── filtres                // 全局 filter
│   ├── icons                  // 项目所有 svg icons
│   ├── lang                   // 国际化 language
│   ├── mock                   // 项目mock 模拟数据
│   ├── router                 // 路由
│   ├── store                  // 全局 store管理
│   ├── styles                 // 全局样式
│   ├── utils                  // 全局公用方法
│   ├── vendor                 // 公用vendor
│   ├── views                   // view
│   ├── App.vue                // 入口页面
│   ├── main.js                // 入口 加载组件 初始化等
│   └── permission.js          // 权限管理
├── static                     // 第三方不打包资源
│   └── Tinymce                // 富文本
├── .babelrc                   // babel-loader 配置
├── eslintrc.js                // eslint 配置项
├── .gitignore                 // git 忽略项
├── favicon.ico                // favicon图标
├── index.html                 // html模板
└── package.json               // package.json
复制代码

这里来简单讲一下src文件

api 和 views

简单截取一下公司后台项目,现在后台大概有四五十个 api 模块


如图可见模块有很多,而且随着业务的迭代,模块还会会越来越多。 所以这里建议根据业务模块来划分 views,并且 将views 和 api 两个模块一一对应,从而方便维护。如下图:


如 article 模块下放的都是文章相关的 api,这样不管项目怎么累加,api和views的维护还是清晰的,当然也有一些全区公用的api模块,如七牛upload,remoteSearch等等,这些单独放置就行。

components

这里的 components 放置的都是全局公用的一些组件,如上传组件,富文本等等。一些页面级的组件建议还是放在各自views文件下,方便管理。如图:


store

这里我个人建议不要为了用 vuex 而用 vuex。就拿我司的后台项目来说,它虽然比较庞大,几十个业务模块,几十种权限,但业务之间的耦合度是很低的,文章模块和评论模块几乎是俩个独立的东西,所以根本没有必要使用 vuex 来存储data,每个页面里存放自己的 data 就行。当然有些数据还是需要用 vuex 来统一管理的,如登录token,用户信息,或者是一些全局个人偏好设置等,还是用vuex管理更加的方便,具体当然还是要结合自己的业务场景的。总之还是那句话,不要为了用vuex而用vuex!


webpack

这里是用 vue-cli 的 webpack-template 为基础模板构建的,如果你对这个有什么疑惑请自行google,相关的配置绍其它的文章已经介详细了,这里就不再展开了。简单说一些需要注意到地方。

jquery (本项目已移除)

管理后台不同于前台项目,会经常用到一些第三方插件,但有些插件是不得不依赖 jquery 的,如市面很多富文本基都是依赖 jquery 的,所以干脆就直接引入到项目中省事(gzip之后只有34kb,而且常年from cache,不要考虑那些吹毛求疵的大小问题,这几kb和提高的开发效率根本不能比)。但是如果第三方库的代码中出现则会直接报错。要达到类似的效果,则需要使用 webpack 内置的 ProvidePlugin 插件,配置很简单,只需要

new webpack.ProvidePlugin({$: 'jquery' ,'jQuery': 'jquery'
})
复制代码

这样当 webpack 碰到 require 的第三方库中出现全局的$、jQeury和window.jQuery 时,就会使用 node_module 下 jquery 包 export 出来的东西了。

alias

当项目逐渐变大之后,文件与文件直接的引用关系会很复杂,这时候就需要使用alias 了。 有的人喜欢alias 指向src目录下,再使用相对路径找文件

resolve: {alias: {'~': resolve(__dirname, 'src')}
}


http://www.taodudu.cc/news/show-2610954.html

相关文章:

  • python登录系统三次锁定_Python基础篇-账号登录错误三次锁定
  • 两小时从零学会vue-admin-template框架
  • 【Vue实战】使用vue-admin-template模板开发后台管理
  • 账号和权限管理
  • 神经网络术语
  • Jenkins忘记登陆账号和密码的解决办法
  • closed caption
  • sftp访问提示Connection closed
  • The client is closed
  • socket closed
  • FileUploadException: Stream closed
  • DataSourceClosedException: dataSource already closed
  • Element properties is not closed
  • psycopg2 : cursor already closed
  • SQLRecoverableException: Closed Connection
  • Connection closed by foreign host
  • ERR_CONNCETION_CLOSED的问题
  • nmap 扫描 STATE 显示closed
  • connection closed
  • dbcp 出现的connection is closed的问题
  • spark报错:java.io.IOException: Filesystem closed
  • Remote end closed connection without response
  • Android-java.net.SocketException: Socket closed问题
  • WebSocket is already in CLOSING or CLOSED state
  • java io closed_java.io.IOException: Stream closed 异常的原因和处理
  • Connection closed prematurely
  • java closed_有关Java中isClosed()和isConnected()的一些误解
  • java closed_Java开发网 - ZipFile closed是什么错误?
  • 状态机
  • 我科学家研制“龙虾壳”新型仿生材料

vue-element-admin(基础篇)相关推荐

  1. Vue Element Admin 使用mock模块模拟数据

    Mock 数据是前端开发过程中必不可少的一环,是分离前后端开发的关键链路.通过预先跟服务器端约定好的接口,模拟请求数据甚至逻辑,能够让前端开发更加独立自主,不会被服务端的开发所阻塞. vue-elem ...

  2. vue实战入门基础篇五:从零开始仿门户网站实例-关于我们实现

    上一篇:vue实战入门基础篇四:从零开始仿门户网站实例-网站首页实现https://blog.csdn.net/m0_37631110/article/details/123045334 一.目录 第 ...

  3. vue+element+admin(初始化项目)

    2022.10.17我接触到了vue+element+admin的使用,首先要安装node.jshttps://nodejs.org/zh-cn/download/.和githttps://git-s ...

  4. vue element admin登录方式切换(密码登录或短信登录)

    显示结果: 具体代码可以根据vue element admin源码进行更改,下面是页面代码 <el-form ref="loginForm" :model="log ...

  5. vue实战入门基础篇二:从零开始仿门户网站实例-开发框架搭建

    上一篇:vue实战入门基础篇一:从零开始仿门户网站实例-前期准备工作 vue实战入门基础篇二:从零开始仿门户网-2022-2-23 21:00:27 一.目录 第一篇:前期准备工作 第二篇:开发框架搭 ...

  6. 后端使用SpringBoot和Jwt工具与Redis数据库+前端Vue Element Admin实现用户携带token的登录功能案例

    登录功能描述: 前端输入对应的用户信息 ,在用户输入邮箱后 点击发送按钮给邮箱发送验证码,拿取到验证填完之后,点击登录按钮给后端发送请求 ,后端接收到请求之后 ,第一步校验验证码,第二步校验用户名和密 ...

  7. vue --- vue.js实战基础篇课后练习

    练习1:在输入框聚焦时,增加对键盘上下键按键的支持,相当于加1和减1 练习2:增加一个控制步伐的prop-step,比如设置为10,点击加号按钮,一次增加10 思路: // 考虑到子模板的复用性,即在 ...

  8. Vue Element Admin 用mock模块模拟数据

    步骤简单 一  在 src/api/charts 中添加接口 , 方法名为 getindexMock  import request from '@/utils/request'export func ...

  9. vue element admin中发送请求和设置loading效果

    需求:在表格数据加载完成前进入loading显示数据正在加载,数据加载完成后取消loading效果,axios的超时处理和异常的处理之后进行取消loading效果. 小编接下来就根据这个这个需求进行分 ...

  10. Vue Element UI 基础多条件查询+重置

    首先 我们用Element UI的话就得下载和引入相对应的东西,下面是网址 https://element.eleme.io/#/zh-CN/component/installationhttps:/ ...

最新文章

  1. VConsole的使用
  2. SSO单点登录三种情况的实现方式详解
  3. HDUOJ 2089
  4. 未公开接口主要指以下哪几类_Java8的 Stream 函数式接口,你了解多少?
  5. 解决iview表单中时间选择起的验证失败问题
  6. jdk10与jdk9的区别_JDK 8与JDK 10:三元/拆箱的区别
  7. C/C++语言学习的策略
  8. 微服务之SpringCloud实战(五):SpringCloud Eureka详解
  9. Faker 快速构造测试数据
  10. Google日历服务快捷、简便
  11. Logic Pro X for Mac - 音乐制作软件
  12. 修改Noteexpress插入参考文献序号的颜色
  13. (4) IFC属性及属性集 (Industry Foundation Class)
  14. php提取pdf首页图片,pdf图片怎么提取
  15. linux修改时区为UTC
  16. golang binding tag
  17. 大规模知识图谱数据存储实战解析
  18. 金三银四想跳槽的,要抓紧时间补补了
  19. 【转载】【收藏】汽车电子expert成长之路公众号系列文章列表
  20. 计算机连接无线网络的步骤,台式电脑连无线网步骤

热门文章

  1. 【转】plt.plot的颜色
  2. SEO技巧:快速学会SEO技术的方法
  3. #创建虚拟机器人URDF模型
  4. elastix2.5vtigercrm5.2.1来电弹屏和点击呼叫的配置
  5. 硬盘三大种类( SSD ; HHD ; HDD )
  6. 大学生破译周鸿祎手机号 李开复放 橄榄枝
  7. 数据治理系列:数据血缘关系
  8. oracle删除lob对象,ORACLE LOB大对象处理
  9. c语言中的output用法,OUTPUT 子句
  10. Crackme#1算法注册机