初始版本

基本实现了功能。其中 js 可以单独作为 node 模块运行。