网站首页 > 博客文章 正文
源码地址:https://gitee.com/itsoft7/itbi-vue
一、实现目标
- 登录页面的实现
- 主界面的布局
- 导航菜单的实现
二、了解vue的目录结构
浅谈一下vue的目录结构,对vue小白用,大神请绕过。项目建立后,脚手架自动根据模板生成了文件目录结构,具体文件结构可以在网上可以搜索到,在这里就不再赘述了,我只针对重要的几个进行说明。
- index.html : 是项目的入口,是随后就被实例中的组件中的模板中的内容所取代,所以我们会看到有那么一瞬间会显示出index.html中正文的内容。而index.html中的Title部分不会被取代,所以会一直保留。比如可以实现加载Loading...等
- main.js:是项目的主程序,在这里很多功能要实现,实例化Vue、初始化及存储全局变量、项目用的组件引入、样式文件引入等。
- app.vue:是项目的主组件,所有页面都是在App.vue下进行切换的。也是整个项目的关键,app.vue负责构建定义及页面组件归集。
三者之间的联系是什么?
从上图简单看出三者之间联系,同时也体现出来vue的单页面模式,何为单页面应用(SPA),通俗一点说就是指只有一个主页面的应用(核心:index.html,main.js,app.vue),浏览器一开始要加载所有必须的 html, js, css。所有的页面内容都包含在app.vue(<router-view/>)。开发的每个模块都是一个组件,然后在交互的时候由路由程序动态载入,单页面的页面跳转,仅刷新组件资源,就是通常所说的不是全面页面刷新。单页面优缺点并存
单页面的优点:
- 用户体验好,快,内容的改变不需要重新加载整个页面,基于这一点spa对服务器压力较小。
- 前后端分离。
- 页面效果会比较炫酷(比如切换页面内容时的专场动画)。
单页面缺点:
- 不利于seo。
- 导航不可用,如果一定要导航需要自行实现前进、后退。(由于是单页面不能用浏览器的前进后退功能,所以需要自己建立堆栈管理)。
- 初次加载时耗时多。
- 页面复杂度提高很多。
三、界面实现
四、 实现的技术点
1.样式表使用了scss : 项目采用的lang="scss",后报错TypeError: this.getResolve is not a function at由于当前sass的版本太高,webpack编译时出现了错误,这个时候只需要换成低版本的就行,下面说一下修改方法,很简单,如下,找到package.json和package-lock.json文件,里面的 "sass-loader"的版本更换掉 就行了,换成如下版本"sass-loader": "^7.3.1",
2.路由模式采用了“history”:这样去掉了url地址中#号,具体代码需要修改router文件夹的index .js。
采用这种模式时,发布部署的时候一定要需要nginx的配合,后面文章会专门讲。
3.图标使用svg格式:
第一步:下载 "svg-sprite-loader": "^6.0.7",
第二步:修改配置文件
第三步:参照源码
4.使用elementUI:这ui使用也比较简单,具体使用方法可以通过官网了解,同样先下载依赖,然后在main.js重要初始化加载。
/*ElementUI*/
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI)
其中element-ui/lib/theme-chalk/index.css 是默认样式表,可以在官网按照自己喜欢的风格生成样式表,下载下来后单独引用即可,在使用过程需要自定义修改样式的需要单独自己创建一个样式文件,在默认样式表下单独自定义样式表,自定义的样式这样就可以覆盖默认的了,不建议直接默认的样式表上去修改。
4.Layout:layout是布局容器,可以根据应用场景定义自己的布局,其结构是:
定义好后layout后如何和视图页面进行关联?在路由文件进行配置
五、 总结
该文章不是一个演示文章,代码也不是为了写文章而写,我是想通过实际的项目给大家进行分享,代码已经完全公开,会不断的持续更新。
目前正在研究在vue使用mxgraph画流程图,正在研究中......
- 上一篇: vue自定义标签和单页面多路由实现
- 下一篇: 二、Uni-app + Vue3 页面组件介绍
猜你喜欢
- 2024-11-23 uni-app使用经验—vue页面和html页面如何互相调用接口并传参
- 2024-11-23 vite还没发release版就已经火得不行了
- 2024-11-23 记一次系统演变过程
- 2024-11-23 「融职培训」Web前端学习 第7章 Vue基础教程10 路由
- 2024-11-23 39、Vue-router 是干什么的,原理是什么?(必会)
- 2024-11-23 vue3-使用 Vue 的多种方式
- 2024-11-23 Vue全家桶-使用总结
- 2024-11-23 前端笔记-vuex
- 2024-11-23 vue的理解-vue源码 历史 简介 核心特性 和jquery区别 和 react对比
- 2024-11-23 Vue.js—实现前后端分离架构中前端页面搭建(二)
你 发表评论:
欢迎- 08-06nginx 反向代理
- 08-06跨表插入连续的日期,sheetsname函数#excel技巧
- 08-06初中生也能学的编程,不走弯路,先用后学
- 08-06find命令的“七种武器”:远不止-name和-type
- 08-06恶意代码常见的编程方式
- 08-06kali2021ping 外网不通
- 08-06因为一个函数strtok踩坑,我被老工程师无情嘲笑了
- 08-06hadoop集群搭建详细方法
- 36℃nginx 反向代理
- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- powershellfor (73)
- messagesource (71)
- plsql64位 (73)
- vueproxytable (64)
- npminstallsave (63)
- #NAME? (61)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- nacos启动失败 (64)
- ssh-add (70)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- qcombobox样式表 (68)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)