使用 dpdm 定位 JavaScript/TypeScript 中的循环依赖

2019-07-19
阅读 4 分钟
7.2k
在写大型项目的时候, 一不小心就会踩到直接循环依赖的坑里面, 所谓直接循环依赖, 是指在模块工厂函数中, 对其它依赖于自己的模块的成员有直接调用的情况. 比如:

使用 ink + react 制作一个命令行的在线五子棋游戏客户端

2019-04-19
阅读 2 分钟
3.1k
Ink 是 React 在命令行中渲染系统的一个实现, 在 GitHub 上已经有 1w+ Star. 看着蛮好玩, 因此尝试着写了一个五子棋游戏, 经过若干天的划水, 终于初见成效了!

web 全架构系列(一): 整体分层及各层模块化

2019-03-22
阅读 1 分钟
2k
这一系列文章, 旨在描述面对一个从零开始的 B(C)/S 应用的时候, 如何去搭建一个业务无关的平台, 承载上层应用流量. 这里要强调这个平台的几个特点:

iclipboard: 一个更好用的复制文本到剪贴板的 npm 包

2018-11-02
阅读 1 分钟
6.9k
最近开发遇到一个需求, 要把一串文字复制到剪贴板, 然后就看了下 github, 发现了一个 star 2W 多的库 clipboard, 想都没想就拉来用了, 结果发现这货真特么不是一般的难用, 特别是和 react 或者 vue 绑定的时候, 简直不想吐槽.

在TypeScript项目中像PHP一样使用魔术变量

2018-08-22
阅读 2 分钟
3.4k
PHP 当中有许多很有用的魔术变量, 比如__CLASS__, __METHOD__之类. 但是typescript中并没有. 因此我写了一个插件typescript-magic-variable-plugin来使用它们, 源代码已经放到了GitHub上: [链接].

TypeScript 3.0 + React + Redux 最佳实践

2018-08-17
阅读 3 分钟
9.5k
首先声明, 这篇文章是想说明一下最新版本的 TypeScript(3.0) 的新特性带来的极大的 React 开发体验提升. 而不是如何利用 TypeScript 开发 React 应用.

i18n-json-compiler 一个为TypeScript编写的国际化方案

2018-01-26
阅读 2 分钟
3.3k
在写一个APP的过程中, 难免会遇到要做国际化的时候. 也就是需要根据不同的地区, 展示不同的文案. 对于简单的文本, 直接用一个xml或者json或者一个变量就能搞定, 但是有时候需要在一句话中加入变量, 就比较麻烦或者说比较恶心了. 比如这样的情况:

造轮子系列(三): 一个简单快速的html虚拟语法树(AST)解析器

2017-08-20
阅读 5 分钟
12.6k
虚拟语法树(Abstract Syntax Tree, AST)是解释器/编译器进行语法分析的基础, 也是众多前端编译工具的基础工具, 比如webpack, postcss, less等. 对于ECMAScript, 由于前端轮子众多, 人力过于充足, 早已经被人们玩腻了. 光是语法分析器就有uglify, acorn, bablyon, typescript, esprima等等若干种. 并且也有了AST的社区标...

造轮子系列(二): 史上最简单的长连接通信协议及实现

2017-07-28
阅读 5 分钟
7.6k
现在写客户端或者网页的时候, 越来越多的需要与长连接打交道, 尤其是在这个老板动不动就要搞一个聊天系统的时代, 后端大哥们于是分分钟就能造一个基于TCP或者WebSockets的消息协议出来. 但是问题在于每做一个新项目, 后端大哥们就能造出一个新协议, 而且能有各种神奇的限制. 比如说要在长连接当中保持一个状态机, 发送某...

造轮子系列(一): 一个速度九分快的JSON解析器

2017-07-25
阅读 5 分钟
11.2k
前一阵子看到了一个Golang的JSON库go-simplejson,用来封装与解析匿名的JSON,说白了就是用map或者slice等来解析JSON,觉得挺好玩,后来有个项目恰好要解析JSON,于是就试了试,不小心看了一眼源代码,发现竟然是用的Golang自带的encoding/json库去做的解析,而其本身只是把这个库封装了一层,看起来更好看罢了。于是心...