虽然现在图形化开发工具发展的已经非常成熟,但我们日常的开发工作和生产支持中还是离不开命令行工具。毕竟服务器上不会安装图形界面,本地开发使用命令行工具也能够大大提高开发效率,例如 git
、npm
等等。
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用事件驱动、非阻塞的 I/O 模型,使其具备轻量高效的特点。npm 目前是全球最大的 Node.js 生态系统开源仓库。
本文目标是创建一个基于 Node.js 的命令行工具,将本地的 Markdown 文件转换为 html 文件,并保存到指定的目录,这个工具的名字叫做 **popsite**。计划的使用方法
1 | $ pop markdown_file.md # 将当前文件夹下的 markdown_file.md 文件转换为 markdown_file.html 文件 |
初始化工程
1 | $ mkdir popsite |
生效命令
我们可以使用 npm link
将当前的模块发布到全局的环境中,方便在本地进行测试。
1 | ➜ ~ pwd |
处理参数
建议使用 commander 来提速参数的处理、帮助文档的展示、版本显示等功能的开发。
1 | program |
编写业务逻辑
我将主要负责业务逻辑的模块放在了 lib/popsite
文件夹下,看了几天 hexo 的源码,感觉其基本思路也是将不同的功能模块,存放在 lib 下的不同文件夹中,通过一个模块调用的方法来根据模块名称实现相关功能的动态调用。
下面是刚打好框架的源码内容:
1 |
|
发布到npm
发布到 npm 可以让我们的工具更方便被更多的人使用。在 npmjs 官网可以注册账号,发布的过程可以在命令行中完成,只需要下面一个命令就可以完成。
1 | $ cd popsite |