chencheng (云谦)
chencheng (云谦)
## 重要更新 🥊 * 完善 pwa 支持,支持 manifest.json、改进缓存策略和更新机制等,[#1307](https://github.com/umijs/umi/pull/1307) * 支持 svg 以 react 组件输出,[#1263](https://github.com/umijs/umi/pull/1263) * 通过插件 [umi-plugin-pnp](https://github.com/umijs/umi-plugin-pnp) 的方式支持 Yarn Play'n'Play,大幅提升依赖包安装速度,以 ant-design-pro 为例,按需依赖仅需 13s * 支持在 app.js 里通过 modifyRouteProps 修改运行时的路由 props,[#1324](https://github.com/umijs/umi/pull/1324)...
先要明白 mobx 和 redux 的定位是不同的。redux 管理的是 (STORE -> VIEW -> ACTION) 的整个闭环,而 mobx 只关心 STORE -> VIEW 的部分。 但作为两个目前最火的 React 应用框架库,人们习惯于把他们比较到一起。下面我们也来看下 mobx 和 redux 相比的优缺点。(据说每个列 3 点会让人更容易记住。。) ## 优点 基于运行时的数据订阅...
我为大家介绍一个新的 React 开发框架,[umi](http://umijs.org/),大家可以叫他**五米**。经过近半年的细致打磨,37 个 beta 版,23 个 rc 版,以及内外部项目的检验之后,今天终于迎来了他的 [1.0 版本](https://github.com/umijs/umi/releases/tag/umi%401.0.0)。非常感谢期间把 umi 应用到项目、提 issue 和 PR 的同学们,没有大家的支持 umi 不能走到今天。 我把日常开发时遇到的问题做了下记录: * 我希望我的项目即可以跑在支付宝(淘宝)容器里(多页),又可以跑在普通浏览器里(单页),有啥办法吗? * 随着项目越来越大,开发调试的启动和热更新时间越来越长。。 * 我所有的文件都打包在一起发布了,用户反馈说网站打开很慢,有没有办法基于路由做按需加载? * 连 iOS 都支持...
距离 [umi 1.0 发布](https://github.com/sorrycc/blog/issues/64) 已有半年,umi 在这段时间做了大量的重构和改进,438 个 commit,20 个 beta 版本,**今天正式发布 2.0 版本,并调整定位为可插拔的企业级 react 应用框架**。 ## umi 是什么? umi,中文可发音为乌米,是一个可插拔的企业级 react 应用框架。umi 以路由为基础的,支持[类 next.js 的约定式路由](https://umijs.org/zh/guide/router.html),以及各种进阶的路由功能,并以此进行功能扩展,比如[支持路由级的按需加载](https://umijs.org/zh/plugin/umi-plugin-react.html#dynamicimport)。然后配以完善的[插件体系](https://umijs.org/zh/plugin/),覆盖从源码到构建产物的每个生命周期,支持各种功能扩展和业务需求,目前内外部加起来已有 50+ 的插件。 umi 是蚂蚁金服的底层前端框架,已直接或间接地服务了 600+ 应用,包括...
> 本文已迁移至 https://github.com/dvajs/dva-docs/blob/master/v1/zh-cn/getting-started.md 我们将基于 [dva](https://github.com/dvajs/dva) 完成一个简单 app,并熟悉他的所有概念。 最终效果: 这是一个测试鼠标点击速度的 App,记录 1 秒内用户能最多点几次。顶部的 Highest Record 纪录最高速度;中间的是当前速度,给予即时反馈,让用户更有参与感;下方是供点击的按钮。 看到这个需求,我们可能会想: 1. 该如何创建应用? 2. 创建完后,该如何一步步组织代码? 3. 开发完后,该如何构建、部署和发布? 在代码组织部分,可能会想: 1. 如何写 Component ? 2. 如何写样式? 3....
由于要整理基于 babel@7 的 babel preset "[babel-preset-umi](https://www.npmjs.com/package/babel-preset-umi)",故而对 babel 插件进行了一遍完整的梳理。期间发现一些之前不熟悉或是新引入的语法,个人觉得挺有用,介绍如下。虽然基本都处于 stage 1 和 stage 0 阶段,但不影响使用。 ## 有啥特性 ### pipeline 语法是 `|>`,类似其他语言,比如 Elm、LiveScript、OCaml 等,还有 UNIX 管道。 ```js // Before let result =...
说说 ParcelJS
看到 [ParcelJS](https://github.com/parcel-bundler/parcel) 还是眼前一亮的。 新建 `index.html`、`index.js` 和 `index.css`,然后 `parcel index.html`,就能拿到可运行的 html、js 和 css 组合。html **可以**作为入口正是我期望的,这让前端开发回归到本来的状态,很舒服。 ParcelJS 是以 assets 方式组织的,assets 可以是任意文件,所以你可以构建任意文件。而在 webpack 中,只有 JS 是一等公民(webpack@4 会增加 CSS 为一等公民),所以必须是以 JS 为入口去组织其他文件,这很别扭。 速度是 ParcelJS...
Hi all, 如果。 - 你喜欢 redux,但面对丰富的社区方案不知如何选; - 你喜欢 elm 的架构; - 你想要代码足够清晰; - 你不想去记很多的 API ;(only 5 methods) - 你不想每次修改都刷新页面;(HMR) - 你的项目够大,并且希望按需加载; - 你想借助可视化工具提升效率;(cygnus 开发中) - 你想要优雅地处理异步请求,以及统一出错; - 你想同一套架构既用于 PC,又用于...
> 本文仅包含 MacOX 经验,Windows 待实践后更新。 electron 官方的 auto update 文档并不完善,多番 google 后,找到一种使用简单、跨平台、无特殊服务器要求的方案。 效果图:  ## 生成证书 出于安全考虑,自动更新必须搭配证书和 https 服务器使用。证书的生成可以用苹果开发者证书或者 [StartSSL](https://startssl.com/Support?v=34) 等生成证书,而只有苹果开发者证书可以过掉 [GateKeeper](https://support.apple.com/en-us/HT202491) 。 打包时通过环境变量 `CSC_LINK` 和 `CSC_KEY_PASSWORD` 指定证书,另外在 Mac 下可不手动指定,electron-builder...
这几天收到比较多关于 [roadhog](https://github.com/sorrycc/roadhog) 的[疑问](https://github.com/ant-tool/atool-build/issues/241),为啥用 roadhog,啥时不用 roadhog,怎么从 atool-build + dora 切换到 roadhog 等等。解释如下: ## roadhog 和 atool-build + dora 有啥区别? ### 配置 roadhog 是约束型配置,基于 JSON 格式,给出有限的配置方式;atool-build + dora 是扩展型,表现为插件和编程 webpack.config.js 的方式。 ###...