vuex-使用总结详解

###### 如果之前未使用过 vuex 请务必先看一下参考 参考: vue中store存储store.commit和store.dispatch的区别及使用vuex的安装和简单使用什么情况下应该使用 Vuex?Vuex 可以帮助我们管理共享状态,并附带了更多的概念和框架。这需要对短期和长期效益进行权衡。 如果不打算开发大型单页应用,应用够简单,最好不要使用 Vuex。一个简单的 store 模式就足够了。但是,如果需要构建一个中大型单页应用,就要考虑如何更好地在组件外部管理状态,Vuex 是不错的选择。 使用在 Vue 的单页面应用中使用,需要使用Vue.use(Vuex)调用插件。将其注入到Vue根实例中。 import Vuex from 'vuex'Vue.use(Vuex)const store = new Vuex.Store({ state: { count: 0 }, getter: { doneTodos: (state, getters) => { return state.todos.filter(todo => todo.done) } }, mutations: { increment (state, payload) { state.count++ } }, actions: { addCount(context) { // 可以包含异步操作 // context 是一个与 store 实例具有相同方法和属性的 context 对象 } }})// 注入到根实例new Vue({ el: '#app', // 把 store 对象提供给 “store” 选项,这可以把 store 的实例注入所有的子组件 store, template: '<App/>', components: { App }})然后改变状态: ...

May 5, 2019 · 4 min · jiezi

翻译:github如何记录contributions

github contributions一般而言,任何一个人的github主页都有一个这样的方格图;每一个小格代表了one day,不同的颜色深度,代表了不同的contributions次数,那么这个次数是怎么计算的呢?本文的翻译就是上图底部的蓝色链接中的Learn how we count contributions.译文正文为什么我的contributions没有在个人profile中体现出来?个人profile中的contributions绘图是用于记录个人对github所做的contributions记录,贡献按照协调世界时(UTC)而不是您当地的时区加上时间戳。只有在满足特定标准的情况下才会当做contributions计算;在某些情况下,我们可能需要重建您的contributions绘图才能显示你的contributions。没有被记录的contributionsIssues和pull requests如果Issues和pull requests只有是在独立仓库中操作的,才会显示在您的contributions绘图上,而对于fork的仓库无法被记录的。Commits如果Commits符合以下所有条件,则会在您的contributions绘图上显示:用于Commits的电子邮件地址与您的GitHub帐户相关联Commits是在独立的仓库中进行的,而不是forkCommits在一下条件下完成在仓库的默认分支(通常是master)在gh-pages分支中(对于具有Project Pages站点的仓库)此外,必须至少满足下列条件之一:你是该仓库的协作者,或者是这个仓库所属组织的一员;你已经fork了该工程你对这个仓库提过Issues或者pull requests你star加星过这个仓库,通常的一些没有被记录的原因要显示在您的contributions绘图上,共同提交的提交必须符合与一个作者的提交相同的标准。当合并pull requests并且Commit时,只有合并pull requests的用户和打开pull requests的用户才会收到贡献积分。拉取请求的任何其他贡献者都不会获得贡献积分。当重新提交Commit时,Commit的原始作者和重新提交的人,无论是在命令行还是在GitHub上,都会收到贡献信用。Commit是在不到24小时前完成在完成符合要求的Commit后,您可能需要等待最多24小时才能看到贡献出现在您的贡献图表上。您尚未将本地Git提交电子邮件添加到您的个人资料中必须使用已添加到您的GitHub个人资料中的电子邮件地址进行提交,以便显示在您的贡献图表上。您可以通过将.patch添加到提交URL的末尾来检查用于提交的电子邮件地址,例如:https://github.com/octocat/octocat.github.io/commit/67c0afc1da354d8571f51b6f0af8f2794117fd10.patchFrom 67c0afc1da354d8571f51b6f0af8f2794117fd10 Mon Sep 17 00:00:00 2001From: The Octocat <octocat@nowhere.com>Date: Sun, 27 Apr 2014 15:36:39 +0530Subject: [PATCH] updated index for better welcome message可以配合:查看email:git config –global user.email 设置email:git config –global user.email XXXX@gmail.com未在默认master或gh-pages分支中进行提交只有在默认分支(通常为master)或gh-pages分支(对于具有Project Pages站点的存储库)中进行提交时才会计算提交。提交共同作者无权访问存储库如果在共同作者无权访问的存储库中进行了提交,则该提交将不计入共同作者的贡献。提交是在一个fork分支中进行的用fork做的提交不会计入你的贡献。要使它们计数,您必须执行以下操作之一:打开pull requests以将更改合并到父存储库中。要分离fork并将其转换为GitHub上的独立存储库,请联系GitHub支持或GitHub Premium支持。如果fork具有自己的分支,请让支持知道分支是否应随存储库移动到新网络中或保留在当前网络中。Commit是在合并和压缩的pull requests中完成的合并和压缩的pull requests中的Commit将不计入您的贡献。只有合并pull requests的用户和打开pull requests的用户才会收到贡献积分。拉取请求的任何其他贡献者都不会获得贡献积分。

January 26, 2019 · 1 min · jiezi

如何文明提交代码

程序员最烦的几件事:写测试,变量命名,还有填代码提交信息(commit message)。翻几个开源项目遍马上可以回味那作文凑字数的青春时光。其实 commit message 的作用远不止如此,经过简单的配置便可无痛成为代码提交的文明公民。Commit Message 的作用最起码的一点,项目的提交历史是其他人(包括未来的自己)了解项目的一个重要途径。好的提交历史可以方便其他人参与进来,也可以方便自己快速定位问题。此外,提交信息还可以用来触发 CI 构建,自动生成 CHANGELOG ,版本自动语义化提升…… 只需要一点点配置就可以干这么多,真是懒人必备。选择风格跟 Code Style 一样,Commit Message 也有各种风格。如果没什么特殊癖好推荐用基于 Angular ,后独立开来的 Conventional Commits 风格。它也基本是各个工具的默认配置,所以搭配起来不需要折腾。才不要又记什么规则虽然规则不多,但不一定能随时记住,特别是对新人,必须要有友好的方式提交。commitizen 是一个很好的选择,通过命令行回答几个问题即可填完信息,减轻了记忆负担。它是一个通用的工具,通过插件方式支持各种风格。我们选择 Conventional 需要安装cz-conventional-changelog 。npm install –save-dev commitizen cz-conventional-changelog然后配置 package.json 就可以通过 npm run commit 提交。{ “scripts”: { “commit”: “git-cz” }}另外 VSCode 用户也可以用 vscode-commitizen ,通过 ctrl+shift+p 或 command+shift+p 提交。Lint 一 Lint 万无一失没错,Commit Message 也有 Linter ,可对 Commit Message 进行检验,杜绝打字手残和浑水摸鱼。这里用 commitlint 配合 husky 实现自动检测。commitlint 也是通用的工具,需要同时安装风格配置。 husky 可以方便使用 git hooks ,在 commit 时触发 commitlint 。npm install –save-dev @commitlint/cli @commitlint/config-conventional husky项目根新建 commitlint.config.jsmodule.exports = { extends: [’@commitlint/config-conventional’]}配置 package.json{ “husky”: { “hooks”: { “commit-msg”: “commitlint -E HUSKY_GIT_PARAMS” } },}自动更新最后安装 standard-version 实现自动生成 CHANGELOG 和版本自动语义化提升。npm install –save-dev standard-version配置 package.json{ “scripts”: { “release”: “standard-version” }}第一次发布时可以用以下命令重置npm run release – –first-release以后直接 npm run release 即可。也可以手动指定版本:# npm run scriptnpm run release – –release-as minor# Ornpm run release – –release-as 1.1.0小红花贴起来在 README 中加入小徽章可方便其他人了解风格。完整配置安装npm install –save-dev commitizen cz-conventional-changelog @commitlint/cli @commitlint/config-conventional husky standard-version配置 package.json{ “scripts”: { “commit”: “git-cz”, “release”: “standard-version” }, “husky”: { “hooks”: { “commit-msg”: “commitlint -E HUSKY_GIT_PARAMS” } },}项目根新建 commitlint.config.jsmodule.exports = { extends: [’@commitlint/config-conventional’]}【完】 ...

September 25, 2018 · 1 min · jiezi