JSer News - 使用 Node.js 实现的 JavaScript 开发者新闻(有点像hacker news)
类似于英文版 JavaScript News 网站 echojs,很早之前我使用了 Redis 作者写的 lamernews 源码 (Ruby/Sinatra/Redis) 搭建了一个中文版本。
其他web 后端语言(Perl, PHP, Python)都有 Lamer News 的克隆实现(GitHub上都有源码,感兴趣的可以看看),Node.js 的也有,但是好像都被弃坑了。 我之前工作主要做前端,业余时间有想法使用 Node.js 模仿一个 Lamer News,但是卡在 Ruby 中的一些语言特性好久,比如 HTMLGen Class 中的 method_missing
方法,Ruby 当中的 block
, proc
等等。
后面陆陆续续了解了一些 Ruby 语法,JavaScript ES6 也增加了 Proxy, Reflect 等特性,也能做一些元编程概念的东西了,使用 async/await 可以方便的对 Redis 执行异步 I/O。最后总算是坚持下来,使用 Node.js 将原来的 Ruby 实现翻译了一遍。
Node.js 版本源码 已发布到 GitHub,等功能稳定以及完善测试用例后会从 Ruby 实现迁移过来,欢迎有兴趣的 JSer 贡献代码。