Skip to content

Instantly share code, notes, and snippets.

View sorrycc's full-sized avatar
🌻
Working on UmiJS

chencheng (云谦) sorrycc

🌻
Working on UmiJS
View GitHub Profile
const assert = require('assert');
const { basename, dirname } = require('path');
const fg = require('fast-glob');
const getRoutes = async (opts) => {
// e.g. ['a/a.route.jsx', 'b/b.route.jsx', 'a.c/b.route.jsx']
const files = await fg(['*/*.route.jsx'], {
cwd: opts.baseDir,
});
return getRoutesByFiles({

umi 是什么?

https://umijs.org/,中文可发音为乌米,是一个可插拔的企业级 react 应用框架。umi 以路由为基础的,支持类 next.js 的约定式路由,以及各种进阶的路由功能,并以此进行功能扩展,比如支持路由级的按需加载。然后配以完善的插件体系,覆盖从源码到构建产物的每个生命周期,支持各种功能扩展和业务需求,目前内外部加起来已有 50+ 的插件。

umi 是蚂蚁金服的底层前端框架,已直接或间接地服务了数百个应用,包括 java、node、H5 无线、离线(Hybrid)应用、纯前端 assets 应用、CMS 应用等。他已经很好地服务了我们的内部用户,同时希望他也能服务好外部用户。

他包含以下特性:

@sorrycc
sorrycc / gist:a0cef19591538df893949ef6c252b185
Last active January 19, 2017 14:35
electron-auto-updater
{
"darwin-x64-prod": {
"readme": "Second Release",
"update": "https://github.com/megahertz/electron-simple-updater/releases/download/darwin-x64-prod-v0.0.2/release.json",
"install": "https://github.com/megahertz/electron-simple-updater/releases/download/darwin-x64-prod-v0.0.2/Simple.Updater.Example-0.0.2.dmg",
"version": "0.2.2"
}
}
import firebase from 'firebase';
const config = {
apiKey: "AIzaSyCm9ablmomM4Y34LJYjzd92G9nzpkLnvKQ",
authDomain: "dva-workshop.firebaseapp.com",
databaseURL: "https://dva-workshop.firebaseio.com",
storageBucket: "dva-workshop.appspot.com",
};
firebase.initializeApp(config);
const database = firebase.database();
@sorrycc
sorrycc / a.json
Created September 26, 2016 10:01
dva-ast-result
{
"models": {
"list": [
{
"reducers": [
"Reducer^^./a/c.js^^add",
"Reducer^^./a/c.js^^minus"
],
"effects": [
"Effect^^./a/c.js^^addRemote"
@sorrycc
sorrycc / introrx.md
Created June 3, 2016 14:00 — forked from staltz/introrx.md
The introduction to Reactive Programming you've been missing
127.0.0.1, yyets.com, *.yyets.com, letvcdn.com, *.letvcdn.com, atatech.org, *.atatech.org, suning.com, *.suning.com, ku6.com, *.ku6.com, donews.com, *.donews.com, goodbabygroup.com, *.goodbabygroup.com, elong.com, *.elong.com, 56img.com, *.56img.com, alibaba.com, *.alibaba.com, lm.licenses.adobe.com, *.lm.licenses.adobe.com, paypalobjects.com, *.paypalobjects.com, acfun.tv, *.acfun.tv, 115img.com, *.115img.com, jandan.net, *.jandan.net, huanqiu.com, *.huanqiu.com, xiami.com, *.xiami.com, weiphone.net, *.weiphone.net, sogou.com, *.sogou.com, yhd.com, *.yhd.com, csdn.net, *.csdn.net, youku.com, *.youku.com, allyes.com, *.allyes.com, 51.la, *.51.la, chinaz.com, *.chinaz.com, highbd.net, *.highbd.net, iciba.com, *.iciba.com, 265.com, *.265.com, 39.net, *.39.net, synacast.com, *.synacast.com, emarbox.com, *.emarbox.com, tgbus.com, *.tgbus.com, zhaopin.com, *.zhaopin.com, chinamobile.com, *.chinamobile.com, lashouimg.com, *.lashouimg.com, gamersky.com, *.gamersky.com, caing.com, *.caing.com, jiathis.com, *.jiathis.
@sorrycc
sorrycc / 0_reuse_code.js
Created February 17, 2016 12:12
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
# the path where screenshots to save
SS_PATH="/tmp"
# if you want to save them to your desktop, SS_PATH should be "/Users/YOURNAME/Desktop"
# a variable of unix timestamp for screenshot file name
NOW=$(date +%s)
# execute screen capture command, screenshot$NOW.png is the name of file
screencapture -i -r $SS_PATH/screenshot$NOW@2X.png
@sorrycc
sorrycc / check_local_pkg.js
Created December 30, 2014 09:16
Compare sync pkg's md5.
require('shelljs/global');
var crypto = require('crypto');
var stat = require('fs').statSync;
var join = require('path').join;
var dirname = require('path').dirname;
var readFile = require('fs').readFileSync;
var dir = join(__dirname, '../spmjs.io/data/repository');
cd(dir);