亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

Node.JS枚舉統計當前文件夾和子目錄下所有代碼文件行數

2024-05-06 16:54:30
字體:
來源:轉載
供稿:網友

使用Node.JS的大多數用記事本開發,有時侯會需要統計工程代碼量,然后記事本大部分沒有這個功能。其實用node.js幾行代碼就可以實現。

var path = require('path')var fs  = require('fs')//需要統計的文件類型,可自己刪減,均小寫var codesFiles = [ '.css', '.js', '.html', '.tmpl', '.part', '.json', '.md', '.txt', '.yml', '.java', '.cs', '.c', '.h', '.cpp', '.xml', '.go', '.py' ]var LINES = 0var findFolder = function(srcDir, cb) { fs.readdir(srcDir, function(err, files) {  var count = 0  var checkEnd = function() {   ++count == files.length && cb && cb()  }  if (err) {   checkEnd()   return  }  files.forEach(function(file) {   var extname = path.extname(file).toLowerCase()   var srcPath = path.join(srcDir, file)   fs.stat(srcPath, function(err, stats) {    if (stats.isDirectory()) {     findFolder(srcPath, checkEnd)    } else {     if (codesFiles.indexOf(extname) < 0) {      checkEnd()      return     }     fs.readFile(srcPath, function(err, data) {      if (err) {       checkEnd()       return      }      var lines = data.toString().split('/n')      LINES += lines.length      console.log(srcPath, lines.length)      checkEnd()     })    }   })  })  //為空時直接回調  files.length === 0 && cb && cb() })}findFolder('./', function() { console.log('LINES:', LINES)})

使用時將此腳本文件命名為lines.js,然后復制到需要統計的文件夾下,然后執行

node lines.js

然后會統計每一個代碼文件的長度,和代碼總行數:

$ node lines.jslines.js 56package.json 6local/en-US.js 122local/FE.zh-CN.js 306...LINES: 40464

更新

下面的腳本通過檢測是否含有ASC0的值來判斷文件是不文本文件,然后統計代碼行數,但實測統計數量明顯偏多。

var path = require('path')var fs  = require('fs')var LINES = 0var FILES = 0//https://github.com/hellosean1025/study/blob/master/function.jsfunction isTextFile( filepath, length ) { fd = fs.openSync( filepath, 'r' ); length = length || 1000; for( var i = 0;i < length;i++ ) {   buf = new Buffer( 1 );   var bytes = fs.readSync( fd, buf, 0, 1, i );   char = buf.toString().charCodeAt();   if ( bytes === 0) {     return true;   } else if(bytes === 1 && char === 0) {     return false;   } } return true;}var findFolder = function(srcDir, cb) { fs.readdir(srcDir, function(err, files) {  var count = 0  var checkEnd = function() {   ++count == files.length && cb && cb()  }  if (err) {   checkEnd()   return  }  files.forEach(function(file) {   var extname = path.extname(file).toLowerCase()   var srcPath = path.join(srcDir, file)   fs.stat(srcPath, function(err, stats) {    if (stats.isDirectory()) {     findFolder(srcPath, checkEnd)    } else {     // if (codesFiles.indexOf(extname) < 0) {     //  checkEnd()     //  return     // }     if (!isTextFile(srcPath)) {      checkEnd()      return     }     fs.readFile(srcPath, function(err, data) {      if (err) {       checkEnd()       return      }      var lines = data.toString().split('/n')      LINES += lines.length      if (lines.length > 5000) {       console.trace(srcPath, lines.length)             } else {       console.log(srcPath, lines.length)      }      FILES++      checkEnd()     })    }   })  })  //為空時直接回調  files.length === 0 && cb && cb() })}findFolder('./', function() { console.log('LINES:', LINES) console.log('FILES:', FILES)})

總結

以上所述是小編給大家介紹的Node.JS枚舉統計當前文件夾和子目錄下所有代碼文件行數,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人成电影在线观看天堂色| 91欧美精品午夜性色福利在线| 成人高清视频观看www| 乱亲女秽乱长久久久| 欧美丝袜第一区| 亚洲国产又黄又爽女人高潮的| 亚洲天堂第一页| 亚洲成人中文字幕| 91精品国产91久久久久久最新| 欧美特级www| 欧美精品在线免费观看| 久久久精品欧美| 国产在线播放不卡| www.美女亚洲精品| 欧美一区亚洲一区| 中文字幕不卡在线视频极品| 色妞色视频一区二区三区四区| 欧美一级电影在线| 国精产品一区一区三区有限在线| 亚洲欧洲在线免费| 欧美一区深夜视频| 91国内产香蕉| 国产午夜精品美女视频明星a级| 久久精品一偷一偷国产| 97色在线观看免费视频| 欧美激情亚洲视频| 日韩电影免费在线观看中文字幕| 国产精品成人一区| 日本三级久久久| 欧美一区二区影院| 欧美大尺度激情区在线播放| 国产精品第8页| 日韩二区三区在线| 欧美丰满少妇xxxxx做受| 久久久久久一区二区三区| 国产精欧美一区二区三区| 亚洲成人网av| 亚洲国产精品嫩草影院久久| 久久夜色撩人精品| 91色精品视频在线| 国产精品中文字幕久久久| 亚洲欧美自拍一区| 亚洲精品网站在线播放gif| 亚洲人成电影网站| 麻豆国产va免费精品高清在线| 久久av.com| 色综合天天综合网国产成人网| 欧美日本啪啪无遮挡网站| 国产黑人绿帽在线第一区| 久久高清视频免费| 国产精品亚洲欧美导航| 欧美成人午夜激情| 亚洲最大在线视频| 国产亚洲精品久久| 色偷偷偷综合中文字幕;dd| 懂色av影视一区二区三区| 国产一区二区三区四区福利| 国产狼人综合免费视频| 在线精品高清中文字幕| 91免费人成网站在线观看18| 国产精品久久久久久久久久东京| 日韩成人激情在线| 精品香蕉一区二区三区| 亚洲日本欧美日韩高观看| 日韩免费观看视频| 亚洲少妇激情视频| 国产一区二区三区18| 亚洲日韩第一页| 欧美做受高潮电影o| 成人免费xxxxx在线观看| 亚洲电影免费观看高清完整版在线观看| 日韩中文字幕不卡视频| 精品久久久久久久大神国产| 欧美韩日一区二区| 久久视频中文字幕| 91欧美精品午夜性色福利在线| 精品中文字幕在线观看| 日韩一区二区精品视频| 久久久视频精品| 51午夜精品视频| 韩日精品中文字幕| 国产精品电影一区| 2019中文字幕免费视频| 国产欧美一区二区三区久久| 91精品国产91久久久久久吃药| 国产综合在线视频| 亚洲人成电影在线| 久热爱精品视频线路一| 国产伊人精品在线| 91欧美视频网站| 精品偷拍一区二区三区在线看| 久久久久99精品久久久久| 久久精品国产成人精品| 亚洲韩国青草视频| 亚洲国产精品久久久| 亚洲精品日韩激情在线电影| 亚洲女人被黑人巨大进入al| 欧美最猛性xxxxx亚洲精品| 日本精品一区二区三区在线播放视频| 国产乱人伦真实精品视频| 97视频在线观看视频免费视频| 不卡伊人av在线播放| 午夜精品一区二区三区视频免费看| 亚洲精品国产品国语在线| 国产综合色香蕉精品| 国产盗摄xxxx视频xxx69| 国产精品网红福利| 国产精品中文字幕久久久| 亚洲激情在线视频| 国产视频精品久久久| 欧美性生交大片免费| 亚洲va欧美va在线观看| 中文字幕在线观看亚洲| 在线观看不卡av| 国内精品久久久久伊人av| 亚洲精选一区二区| 亚洲第一中文字幕在线观看| 国产精品高精视频免费| 亚洲午夜精品视频| 国内精久久久久久久久久人| 在线观看91久久久久久| 日韩欧美成人网| 国产成人福利网站| 亚洲精品一区中文| 日韩精品视频中文在线观看| 国产成人精品久久二区二区91| 国产精品高潮视频| 一本色道久久88综合亚洲精品ⅰ| 永久免费毛片在线播放不卡| 中文字幕亚洲一区二区三区| 性色av一区二区三区在线观看| 91中文在线视频| 欧美成人午夜剧场免费观看| 97香蕉久久超级碰碰高清版| 91久久精品国产91久久| 欧美极品少妇全裸体| 91超碰中文字幕久久精品| 午夜精品久久久久久久久久久久| 日韩毛片中文字幕| 亚洲精品一区av在线播放| 国产又爽又黄的激情精品视频| 日韩精品中文字幕视频在线| 欧美成人精品三级在线观看| 亚洲欧美日韩天堂| 精品久久久久久久大神国产| 97成人在线视频| 91久久嫩草影院一区二区| 国产精品久久久久久久久免费| 色噜噜国产精品视频一区二区| 91社区国产高清| 国产精品jizz在线观看麻豆| 在线观看国产精品日韩av| 欧美国产日本在线| 国产日韩精品在线观看| 亚洲人免费视频| yw.139尤物在线精品视频| 2024亚洲男人天堂| 38少妇精品导航| 国产亚洲精品久久久久动| 国产深夜精品福利| 成人在线观看视频网站| 欧美日韩亚洲成人| 高清欧美一区二区三区| 91网站免费看|