Skip to content

Instantly share code, notes, and snippets.

@riskers
riskers / main.md
Last active November 9, 2017 03:57
postcss plugin
@riskers
riskers / immutablejs.md
Last active October 14, 2020 07:45
reselect / immutablejs

在 reducer 中,都是返回一个新对象,否则组件是不会更新 ui 的。而返回新对象,可以:

  • Object.assign:比较 hack,每次新生成一个对象
  • ...state
  • immutable.js
@riskers
riskers / readme.md
Last active August 24, 2017 09:52
css modules + react + babel-react-css-modules
  • 在入口文件(app.js)引入全局 css (:global(.xxx){...}), .xxx 不会被解析成 hash,可以在组件中 className="xxx" 使用
  • 本地css在组件(demo.js)中引入局部 css (.yyy{...}) ,在组件中 styleName="yyy" 使用

common.css: global-style

:global(.xxx) {
 ...
@riskers
riskers / readme.md
Last active November 28, 2019 18:27
check node_modules and yarn.lock match

yarn.lock 与 node_modules 保持一致

  • yarn add xxx 添加新的 package,同时更新 package.jsonyarn.lock
  • yarn upgrade xxx 更新 package,同时更新 package.jsonyarn.lock

这样操作过后,我们把 yarn.lock push 到代码仓库中

node_modules 与 yarn.lock 保持一致

团队使用 Yarn 来管理模块依赖,这样只能保证大家的 yarn.lock 是一致的,但不能保证大家的 node_modules 是一致的(因为 node_modules 并不在版本库里)。要是有人升级了模块,别人拿到了新的 yarn.lock ,但是本地的 node_modules 里的模块仍然是旧的。

@riskers
riskers / demo1.md
Last active November 28, 2019 18:31
module in es6 vs commonjs
// es6
export var foo = 'foo';
setTimeout(() => foo = 'baz', 500);

// main
import {foo} from './t.js';
console.log(foo); // foo
setTimeout(() => console.log(foo), 500); // baz
@riskers
riskers / git-flow.md
Created April 12, 2017 07:04 — forked from yesmeck/git-flow.md
Git 开发流程

Git 协作流程

master 分支

master 永远处于稳定状态,这个分支代码可以随时用来部署。不允许在该分支直接提交代码。

develop 分支

开发分支,包含了项目最新的功能和代码,所有开发都在 develop 上进行。一般情况下小的修改直接在这个分支上提交代码。

@riskers
riskers / .tmux.conf
Last active February 9, 2022 07:27
tmux 配置、快捷键
# unbind some default keybindings
unbind C-b
# set prefix key to ctrl-q
set -g prefix C-q
# lower command delay
set -sg escape-time 1
# start first window and pane at 1, not zero
@riskers
riskers / pkg.module.md
Last active April 10, 2017 08:02
开发一个 es6 的库
@riskers
riskers / throttle & debounce.md
Last active October 19, 2022 09:40
throttle and debounce
  • throttle 定义了一个函数一段时间内的最多执行次数,比如『执行这个函数最多每100ms执行一次』
  • debounce 定义了一个函数在一定时间过去也没有被调用。比如『执行这个函数在没有被调用的100ms之后』

var throttle = function(fn, delay){
    var last = 0

    return function() {
@riskers
riskers / DefinePlugin.md
Last active April 18, 2019 09:43
webpack 应用解析

DefinePlugin 定义全局变量

可以根据测试和线上注入全局变量来动态控制逻辑

// webpak.config.js
new webpack.DefinePlugin({
    'ENV': JSON.stringify(process.env.ENV)
})