在使用 Git 作为版本控制的时候,我们可能会由于各种各样的原因提交了许多临时的 commit,而这些 commit 拼接起来才是完整的任务。那么我们为了避免太多的 commit 而造成版本控制的混乱,通常我们推荐将这些 commit 合并成一个。

查看提交历史

1
git log

首先你要知道自己想合并的是哪几个提交,可以使用 git log 命令来查看提交历史,假如最近 4 条历史如下:

1
2
3
4
5
6
7
commit 3ca6ec340edc66df13423f36f52919dfa3......

commit 1b4056686d1b494a5c86757f9eaed844......

commit 53f244ac8730d33b353bee3b24210b07......

commit 3a4226b4a0b6fa68783b07f1cee7b688.......
阅读全文 »

  1. git push origin --delete [branchName] 删除远程分支;

  2. git branch -a 查看远程和本地所有分支,发现还会显示已删除的分支;

  3. git fetchgit pull 后依然如此;

  4. git remote show origin 查看远程库,看到远程分支和本地分支的对应关系;

  5. git remote prune origin 删除远程没有,本地有的分支;

  6. git branch -a 再次查看,即与远程分支同步。

  • 小程序本质就是一个单页面应用,所有的页面渲染和事件处理,都在一个页面内进行,但又可以通过微信客户端调用原生的各种接口;

  • 架构是数据驱动的架构模式,UI 和数据是分离的,所有的页面更新,都需要通过对数据的更改来实现;

  • 从技术讲和现有的前端开发差不多,采用 JavaScript、WXML、WXSS 三种技术进行开发;

  • 功能可分为 webview 和 appService 两个部分;

  • webview 用来展现 UI,appService 有来处理业务逻辑、数据及接口调用;

  • 两个部分在两个进程中运行,通过系统层 JSBridge 实现通信,实现 UI 的渲染、事件的处理等。

vue

1
2
let page = this.$mp.page.$getAppWebview();
page.setStyle({ popGesture: "none" });

注意:

  • 此方法在普通 vue 页面使用如下代码禁用页面得侧滑返回
  • 在 nvue 中因未获取到正确的页面实例不会生效

nvue

阅读全文 »

onBackPress 函数 return 非 true 以外的值都会执行默认的返回行为,只有 return true 才不会执行返回事件,所以在执行自定义事件时一定要返回 true

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<script>
export default {
data() {
return {
isConfirm: false //处理返回逻辑
};
},
methods: {
onBackPress() {
if (this.isConfirm == false) {
uni.showModal({
content: "数据尚未保存,你确定要返回吗?",
success: (res) => {
// 一定要保证this的指向问题,否则会导致无限的弹出modal,可以考虑用that保存this指针或是使用箭头函数
if (res.confirm) {
this.isConfirm = true;
//navigateBack会再次执行onBackPress事件,所以在进入函数的时候我们加了isConfirm来判断是否执行自定义的事件
uni.navigateBack();
}
}
});
return true;
} else {
return false;
}
}
}
};
</script>

格式化规范

背景

在一个多人协作的项目中,不同的开发人员写的代码的风格不太一样,比如是否需要在行末加分号,换行、空格、缩进、项目中散落的 console 处理方法、单行代码最大长度等等,如果项目中没有统一的规范就会导致代码风格的五花八门,不利于代码的阅读和维护。

目标

为了项目中有统一的编码规范,我们使用 eslint + prettier 来进行约束。

阅读全文 »

script setup 是 vue3 的新语法糖,并不是新增的功能模块,只是简化了以往的组合式 API 必须返回(return)的写法,并且有更好的运行时性能。

什么是 setup 语法糖

起初 Vue3.0 暴露变量必须 return 出来,template 中才能使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script>
import Foo from "./Foo.vue";
import Bar from "./Bar.vue";
export default {
setup(props) {
console.log(props);
return {
ok: Math.random(),
Foo,
Bar
};
}
};
</script>

vue3.2 中 只需要在 script 标签上加上 setup 属性,组件在编译的过程中代码运行的上下是 setup() 函数中。
所有 ES 模块导出都被认为是暴露给上下文的值,并包含在 setup() 返回对象中。
组件只需引入不用注册,属性和方法也不用返回,也不用写 setup 函数,也不用写 export default ,甚至是自定义指令也可以在我们的 template 中自动获得。

阅读全文 »