nodejs开源项目 nodejs高级编程使用


需求来源于生活 。
在日常开发中,经常会频繁地做一些重复性的操作,作为一名程序员,解放双手的时刻到了 。
比如说:批量修改某些文件的后缀,我对于一些shell或者win下的命令不是很熟悉,稍微了解的就是自己的开发语言,所以用熟悉的工具做事还是可以带来一些成就感的 。
下面我准备针对这个小小的需求开发一个自己的命令行,当然如果能帮助到其他人,那就更加地满足了 。闲话不多说,下面直接开始 。
需求整理
    可以对某个文件夹下的所有文件进行后缀的修改可以限定某类后缀修改为指定的后缀可以指定目标文件夹同时可以随机重命名
准备 环境 : nodejs编辑工具 : sublime 大体流程
    在github上创建自己想要的仓库changeext(命名)将仓库clone到本地进行开发、测试发布到github发布到npm安装到本地进行使用大功告成
步骤分解 一些帐号注册、仓库创建就不再说了,主要说下开发的具体流程 先来一段伪代码:
1.确定目标文件夹、一些相关的参数(是否重命名、源后缀、目标后缀)2.获得目标文件夹下的所有文件(符合源后缀)3.对符合条件的文件进行重命名(修改后缀)4.结束,对,流程很简单,实现起来也不麻烦,但是起码这是自己的小工具啊,哪怕网上再多也是别人的 开发中使用的module:
minimist(命令行参数处理) fs(操作文件) path(处理文件路径) colors(让打印信息更加好看) 核心代码如下:
#!/usr/bin/env node//作为命令行工具,第一行就是上面的这货,千万别少了var fs = require(\\\'fs\\\');var path = require(\\\'path\\\');var colors = require(\\\'colors\\\');//指定一些颜色信息colors.setTheme({error : \\\'red\\\',success : \\\'green\\\',info : \\\'yellow\\\'});//获得命令行的参数var argv = require("minimist")(process.argv.slice(2), {alias: {\\\'input\\\': \\\'i\\\',\\\'target\\\': \\\'t\\\',\\\'directory\\\': \\\'d\\\',\\\'loop\\\' : \\\'l\\\',\\\'random\\\' : \\\'r\\\'},string: [\\\'input\\\', \\\'target\\\',\\\'directory\\\'],boolean : [\\\'loop\\\',\\\'random\\\'],\\\'default\\\': {\\\'directory\\\': process.cwd()}});//打印帮助信息if (argv.help) {console.log("Usage:".info);console.log("changeext --help// print help information".success);console.log("changeext txt js// change \\\'txt\\\' to \\\'js\\\' ".success);console.log("changeext -i txt// input file extensions".success);console.log("changeext -t js// target file extensions".success);console.log("changeext -d /home/// target directory for change".success);console.log("changeext -l// loop file directory for change file extensions".success);console.log("changeext txt js -r// get some random name");process.exit(0);}//随机获得一个随机字符串function getRandom(){var counter = 0;return (function() {var guid = ( new Date()).toString( 32 ),i = 0;for ( ; i

猜你喜欢