Hello World
Spiga

归档:2011年12月

Node.js中相同模块是否会被加载多次?

2011-12-27 23:19 by 老赵, 6997 visits
摘要:JavaScript的包管理一直是个软肋,但既然它流行了,既然人们想要用它做大事了,就要开始为它制定一些模块的约定。Node.js使用了CommonJS模块机制,最近在InfoQ上也有一篇文章讨论了这方面的问题。这篇文章提到Node.js在载入模块时,如果之前该模块已经加载过则不会有重复开销,因为模块加载有缓存机制。这篇文章是我初审的,当时也正好在思考Jscex在Node.js使用时的模块化问题,但研究了它的规则之后,我发现在某些情况下还是可能加载多次。现在我们便来分析这个问题。 阅读全文

受禁锢的异步编程思维

2011-12-19 21:49 by 老赵, 8094 visits
摘要:最近一直在努力推广,补充了很多中文文档和示例,因此博客上都已经有两篇文章有了“上”而没有“下”,即使最复杂的图示也已经绘制完毕。在推广Jscex的过程中,我发现有个比较明显的问题是,许多使用JavaScript的程序员已经习惯旧有的操作方式,甚至推崇一些据说很漂亮“模式”。但其实跟许多GoF模式是在修补OO语言的不足类似,很多异步模式都只是因为JavaScript语言特性不足而设计出来的“权宜之计”。我们在传统JavaScript编程环境下并没有其他选择,单纯地认为这是“美”,说实话只不过是一种安慰罢了。 阅读全文

Jscex正式发布至npm

2011-12-01 14:23 by 老赵, 4702 visits
摘要:之前一直不敢将Jscex发布至npm上,因为有些问题还没有完全拿定主意,例如“取消”任务的模型。一个异步任务一定是需要取消功能,尽管这个模型不一定需要直接定义在Jscex里。但是我还是为Jscex提供了一个统一的标准化的取消模型,一是易于使用,二是提供模型这个之后,API在设计时可以有更多表现力(例如,现在的task的status可能是canceled了)。上周末我实现这个模型(其实也就十几二十行代码),昨天我又修改了模块的加载方式,使其支持CommonJS规范。在发布到npm之后,现在可以说Jscex已经正式对外公开了! 阅读全文
1
使用Live Messenger联系我