青青草免费线看线看|啊在车上停不下来了|国产少女免费观看电视剧|仑乱88MAV|精品老司机在线观看视频|国产一区二区三区高清免费视频|在线观看免费777av

nodejs開源項(xiàng)目 nodejs高級(jí)編程使用


需求來(lái)源于生活 。
在日常開發(fā)中,經(jīng)常會(huì)頻繁地做一些重復(fù)性的操作,作為一名程序員,解放雙手的時(shí)刻到了 。
比如說(shuō):批量修改某些文件的后綴,我對(duì)于一些shell或者win下的命令不是很熟悉,稍微了解的就是自己的開發(fā)語(yǔ)言,所以用熟悉的工具做事還是可以帶來(lái)一些成就感的 。
下面我準(zhǔn)備針對(duì)這個(gè)小小的需求開發(fā)一個(gè)自己的命令行,當(dāng)然如果能幫助到其他人,那就更加地滿足了 。閑話不多說(shuō),下面直接開始 。
需求整理
    可以對(duì)某個(gè)文件夾下的所有文件進(jìn)行后綴的修改可以限定某類后綴修改為指定的后綴可以指定目標(biāo)文件夾同時(shí)可以隨機(jī)重命名
準(zhǔn)備 環(huán)境 : nodejs編輯工具 : sublime 大體流程
    在github上創(chuàng)建自己想要的倉(cāng)庫(kù)changeext(命名)將倉(cāng)庫(kù)clone到本地進(jìn)行開發(fā)、測(cè)試發(fā)布到github發(fā)布到npm安裝到本地進(jìn)行使用大功告成
步驟分解 一些帳號(hào)注冊(cè)、倉(cāng)庫(kù)創(chuàng)建就不再說(shuō)了,主要說(shuō)下開發(fā)的具體流程 先來(lái)一段偽代碼:
1.確定目標(biāo)文件夾、一些相關(guān)的參數(shù)(是否重命名、源后綴、目標(biāo)后綴)2.獲得目標(biāo)文件夾下的所有文件(符合源后綴)3.對(duì)符合條件的文件進(jìn)行重命名(修改后綴)4.結(jié)束,對(duì),流程很簡(jiǎn)單,實(shí)現(xiàn)起來(lái)也不麻煩,但是起碼這是自己的小工具啊,哪怕網(wǎng)上再多也是別人的 開發(fā)中使用的module:
minimist(命令行參數(shù)處理) fs(操作文件) path(處理文件路徑) colors(讓打印信息更加好看) 核心代碼如下:
#!/usr/bin/env node//作為命令行工具,第一行就是上面的這貨,千萬(wàn)別少了var fs = require(\\\'fs\\\');var path = require(\\\'path\\\');var colors = require(\\\'colors\\\');//指定一些顏色信息colors.setTheme({error : \\\'red\\\',success : \\\'green\\\',info : \\\'yellow\\\'});//獲得命令行的參數(shù)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);}//隨機(jī)獲得一個(gè)隨機(jī)字符串function getRandom(){var counter = 0;return (function() {var guid = ( new Date()).toString( 32 ),i = 0;for ( ; i

猜你喜歡