介绍 pomelo这个脚本
当我们pomelo init helloworld的时候,会在当前目录下面生成一个helloworld的工程,这个过程其实是调用 `which pomelo`这个脚本来实现的,我们直接看这个脚本。
扫一眼,可以看出基本上是 commander的框架的一个应用。其他path,child-process这些库,猜都能够猜出来是解析路径和spawn子进程用的。
所以关键就是看懂commander这个工具库。
位置在pomelo/node_modules/commander目录下面就一个index.js大概800多行,而且github上有wiki介绍使用方法和代码。
ok,大致看过commander/index.js,然后回来看pomelo这个脚本,可以看到,其实就是和c的option库差不多的实现。
init函数基本就是copy模板到当前目录。
pomelo start就是启动当前目录下面的app.js而已。
所以对于game_server/pomelo start 就相当于 node app
(to be continue。。。)
参考:
《secrets of javascript ninja 》这个是john的神作,130多页的小册子,内容却非常丰满。
commander的github地址: https://github.com/visionmedia/commander.js
about module.exports vs exports
http://zihua.li/2012/03/use-module-exports-or-exports-in-node/