0、新建项目

1、关联仓库:新建的远程仓库 怎么和已有代码联系起来
a、拉仓库 复制代码进去
b、在已有代码里面配置git:
git remote add origin ‘地址’
然后 git push -u origin master

2、划分目录结构
a、先清除初始化默认的hello组件
c、创建目录
assets components router store views

3、css文件的引入 normolize.css base.css
a、初始化 重置 去掉默认padding之类

b、 :root 根元素 伪类 获取根元素html

c、css3:样式变量
定义: --xx: ‘’
使用: var(--xx)

4、webpack.vue.config
a、配置文件别名
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
'common': resolve('src/common'),
'components': resolve('src/components'),
'network': resolve('src/network'),

}
},

脚手架2:
'@': resolve('src'),
'assets': resolve('src/assets'),
脚手架3:
'@': resolve('src'),
'assets': resolve('@/assets'),

b、.editorconfig 编码规范 缩进之类

五、开发:app项目 手机商城
1、底部 tabbar引入 和项目模块划分【我的 商城 购物车等】
dom图片加载不了?
~assets

2、 项目图标问题
a、vue3
.ico 文件:固定名称 favicon.ico
固定使用: <link rel="iocn" href="<%= BASE_URL %>favicon.ico">

b、vue2
<link rel="shortcut icon" type="image/x-icon" href="./favicon.ico"></link>

config里面:favion: path.resolve(''),

3、首页开发&导航封装

4、首页请求数据
4.1、
import {getHome} from 'network/home'

export function getHome() {}

4.2、 import xx
export default xx

http://123.207.32.32 http://123.207.32.32:8000/home/multidata

4.3、服务问题 :代理
axios 拦截器

4.4、面向对象思想 层级清晰

4.5、函数执行完之后 里面的变量等东西会被销毁 垃圾机制回收

5、首页轮播图
a、自己写 封装组件 完全独立组件 不与业务相关的话common
b、引入ui框架 使用框架 也可以在基础上再抽取成组件

6、首页 推荐信息 图片

7、回顾
promise、vuex

六、
8、首页 本周流行
featureView封装

9、tabcontro的封装
9.1、吸顶效果: 滚动到设置的多少高度时 变成固定定位
9.2、滚动问题: 默认自然 滚动 在手机端会卡顿
使用框架组件

10、商品数据结构设计
11、商品数据请求 新接口了 服务器
12、商品数据展示样式
父: display: flex;
flex-wrap: wrap; 换行
justify-content: space-around;

子: width: 48%;

13、tabcontro点击切换商品
有时热更新 没更新 手动刷新

14、better-scroll 滚动插件 --save
移动 电脑 都行
弹簧效果:滚到底 有个弹起的效果
注意使用元素时 元素 是否存在 created mounted

官网 说明 起步

15、better-scroll基本使用
a、使用:
<div class="el">
ul>li
<div>
const bscroll = new BScroll('.el',{
probeType: 0/1/2/3 是否实时监测 01 不侦测 2 只侦测手指滚动
离开后惯性的不监测 3 都监测
})
el: 只能有一个字元素 设置固定高

b、监听:bscroll.on('scroll', (position) =>{})

16、better-scroll在vue中的使用
17、better-scroll的封装与使用

11、backtop的封装与使用
12、backtop的显示与隐藏
13、首页商品 上拉加载更多

七、
1、回顾
2、首页开发-滚动区域的Bug分析和解决.
Vue.prototype.$bus = new Vue(); // 事件总线
this.$bus.$emit('itemImg-load') 发送

监听: mounted 里面监听
this.$bus.$on('itemImg-load', () => {
this.$refs.scroll.refresh();

})
3、refresh函数找不到的bug处理
this.scroll && this.scroll.refresh();
使用 this.$refs.xx时 在mounted() {}周期里面

4、刷新频繁的防抖
debounce(fn, 1000); 第一个参数为函数名称 不要加小括号
const re = debounce(this.$refs.scroll.refresh, 200)
re();

5、上拉加载完成
6、tab control的吸顶效果
临界条件:通过offsetTop获取
获取组件元素:this.$refs.xx.$el
7、吸顶完成
监听图片完成 <img @load="load"
better-scroll组件引起的吸顶效果失效或者有问题
解决: 使用两套 用isTabFixed控制

8、home离开时记录状态和位置
状态:组件离开后 被销毁 keep-alive
使用 keep-alive就有俩方法

位置: 滚动到的位置 离开时记录位置 回来时拿到记录的位置 进行刷新

9、跳转详情页 带id
10、详情导航栏

--25节

11、详情页数据请求及轮播图
keep-alive exclude
之前在Vue内使用<keep-alive>出现过exclude无效的问题:
此时我们需要确认的是,当前exclued内对应的名字,是和我们需要保留的组件的name属性直接对应上的,包括大小写,确认好这点就可以保证不出错

12、商品基本信息
13、店铺信息

14、详情滚动scroll
15、商品详情
16、商品参数

17、回顾

--26 节
12、商品评论
时间错与时间的转换

vue 管道过滤器

13、商品推荐
14、首页 详情 监听全局 mixins混入
取消$bus事件:this.$bus.$off(‘监听事件’,监听事件要执行的函数)

mixins 混入:混合、
顺序:
钩子mixin钩子在自己钩子之前执行, 里面东西合并
如果methods里面方法同名: 自己的会覆盖mixin的

混入了 监听图片加载 刷新滚动区域
15、回顾

---27、
1、首页tabcontrol
2、详情页不能滚动的bug
3、点击标题到对应内容
组件渲染周期 update
this.$nextTick
只敲到此 后面的只是看了视频

--28
--29
123

4、tosat
tosat: 模态框 弹框

5、toast 封装 安装插件
在index.js:
1、创建vue构造器
import 组件名称 from 组件 :组件内部写逻辑
const xx = Vue.extend(组件名称)
2、创建组件对象
const toast = new XX();
3、将组件对象挂载到元素上
toast.$mount(document.creElement('div'))
4、添加到body
document.body.appendChild(toast.$el)

5、挂到vue原型上
Vue.prototype.$mesg = toast;

6、main.js 引入使用
import toast from 'toast/index.js '
使用: Vue.use(toast ): 调用toast的install方法

7、实际使用
this.$mesg('msg')

总:一个组件添加到vue原型的一方法上 组件需要挂载到vue上
组件内有方法
然后调用方法

6、fastclick 解决移动端延迟方案
移动端默认有延迟
··1、npm包安装 fastclick
..2、使用
import fastcl from 'fastclick'
fastcl.attach(document.body)

7、图片懒加载 使用插件库 vue-lazyload
1、npm
2、导入
3、vue.use('',{
loading: '占位图地址' //requer('地址')
})
4、<img :src=“url” > ==> <img v-lazy="url"
5、懒加载 默认占位空白 可以设置占位图

8、移动端 不同设备字体 px单位转换
px2vw-css、、
1、安装插件 npm
2、配置 postcss.config.js文件
3、一般设计稿比例 以iphone6 375 * 667
9、nginx 在window的部署
安装nginx 打包 修改配置和部署

10、项目在远程linux的部署
虚拟机centos上nginx安装 配置和部署

---30--- 最后
11、响应式原理
原理: 数据劫持 + 发布订阅模式
代理:_proxy

关键字:Dep Watcher Observer

代码解析
流程图片解析

12、正则
* 0或多个
+ 1或多个
特殊字符作为正则内容 需要使用转义符\

13、整个课程回顾
a、 mvvm
b、mustache语法 双大括号 {{}}

开发 supermall 的一些的更多相关文章

  1. 避免重复造轮子的UI自动化测试框架开发

    一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...

  2. App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

  3. 使用HTML5开发Kinect体感游戏

    一.简介 我们要做的是怎样一款游戏? 在前不久成都TGC2016展会上,我们开发了一款<火影忍者手游>的体感游戏,主要模拟手游章节<九尾袭来 >,用户化身四代,与九尾进行对决, ...

  4. Android SwipeRefreshLayout 下拉刷新——Hi_博客 Android App 开发笔记

    以前写下拉刷新 感觉好费劲,要判断ListView是否滚到顶部,还要加载头布局,还要控制 头布局的状态,等等一大堆.感觉麻烦死了.今天学习了SwipeRefreshLayout 的用法,来分享一下,有 ...

  5. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  6. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  7. Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境

    一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...

  8. 构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四)

    通过前面几节的准备工作,对于 npm / node / gulp 应该已经有了基本的认识,本节主要介绍如何构建一个基本的前端自动化开发环境. 下面将逐步构建一个可以自动编译 sass 文件.压缩 ja ...

  9. 读书笔记:《HTML5开发手册》--HTML5新的结构元素

    读书笔记:<HTML5开发手册> (HTML5 Developer's CookBook) 虽然从事前端开发已有很长一段时间,对HTML5标签也有使用,但在语义化上面理解还不够清晰.之前在 ...

随机推荐

  1. Spring Boot 2.7.0发布,2.5停止维护,节奏太快了吧

    这几天是Spring版本日,很多Spring工件都发布了新版本, Spring Framework 6.0.0 发布了第 4 个里程碑版本,此版本包含所有针对 5.3.20 的修复补丁,以及特定于 6 ...

  2. Linux版 MySql57安装教程

    这里介绍的是CentOS7.4安装mysql57的教程 创建MySQL文件包 使用mkdir -p 文件夹路径创建以下目录: 文件夹路径 用途 /usr/local/mysql MySQL安装路径 / ...

  3. redis高可用、redis集群、redis缓存优化

    今日内容概要 redis高可用 redis集群 redis缓存优化 内容详细 1.redis高可用 # 主从复制存在的问题: 1 主从复制,主节点发生故障,需要做故障转移,可以手动转移:让其中一个sl ...

  4. 用HMS Core地图服务自定义地图样式,给你的应用制作专属个性化地图

    不同行业的开发者对地图样式的展示需求差异很大.例如,物流类应用希望地图样式简洁一些,重点突出城市分布和快递路径:AR游戏类应用中的地图色彩需要和游戏UI适配,做的更酷炫一些:景区导览应用中的地图样式要 ...

  5. 基于.NetCore开发博客项目 StarBlog - (9) 图片批量导入

    系列文章 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客? 基于.NetCore开发博客项目 StarBlog - (2) 环境准备和创建项目 基于.NetC ...

  6. 在 Traefik Proxy 2.5 中使用/开发私有插件(Traefik 官方博客)

    Traefik Proxy 在设计上是一个模块化路由器,允许您将中间件放入您的路由中,并在请求到达预期的后端服务目的地之前对其进行修改. Traefik 内置了许多这样的中间件,还允许您以插件的形式加 ...

  7. nvm安装与使用及乱码问题

    前端开发工作中经常负责多个项目(新项目.多年的老项目及团队合作项目),经常会遇到npm install安装依赖包或者启动本地服务时依赖报错的情况,大多数是因为NodeJS和npm与依赖之间版本的问题, ...

  8. CVPR2022 | A ConvNet for the 2020s & 如何设计神经网络总结

    前言 本文深入探讨了如何设计神经网络.如何使得训练神经网络具有更加优异的效果,以及思考网络设计的物理意义. 欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结.最新技术跟踪.经典论文解读.CV招聘 ...

  9. 开源流程引擎camunda如何扩展

    ​  市场上基于Java语言的开源工作流引擎有:osworkflow.jbpm.activiti.flowable.camunda等,其中osworkflow.jbpm流程引擎已经过时,目前主流的开源 ...

  10. dubbo的消费者是怎么获取提供者服务接口引用的?

    本文主要解读dubbo消费者是如何引用服务端接口的,是如何像本地调用一样调用远程服务的. 并试着从设计者的角度思考,为何这样设计. @Component public class DubboConsu ...