当前位置:   article > 正文

Node JS 统计代码数量_计数 nodejis

计数 nodejis

通过NodeJS统计静态文件的代码行数

Js代码如下:

  1. let fs = require('fs')
  2. let path = require('path')
  3. // 获取命令行参数
  4. let parm = process.argv.splice(2)
  5. // 第一个参数是路径
  6. let rootPath = parm[0]
  7. // 后面的所有参数都是文件后缀
  8. let types = parm.splice(1)
  9. // 需要过滤的文件夹
  10. //let filter = ['./node_modules']
  11. let filter1 = "node_modules"
  12. let filter2 = "test"
  13. let filter3 = "lib"
  14. let filter4 = "QModbusLib"
  15. let filter5 = "Text"
  16. let filter6 = "RemoteDataBroker"
  17. let filter7 = "UITest"
  18. // 需要过滤的文件
  19. let filterFile1 = "system-keypad-config.j"
  20. let filterFile2 = "qcustomplot."
  21. let filterFile3 = "CSqlite."
  22. //let filterFile4 = "qcustomplot."
  23. // 统计结果
  24. let num = 0
  25. // 获取行数
  26. async function line(path) {
  27. let rep = await fs.readFileSync(path)
  28. rep = rep.toString()
  29. let lines = rep.split('\n')
  30. if(lines.length > 1)
  31. console.log(path + ' ' + lines.length)
  32. num += lines.length
  33. }
  34. // 递归所有文件夹统计
  35. async function start(pt) {
  36. let files = fs.readdirSync(pt)
  37. files.map(file => {
  38. return `${pt}/${file}`
  39. })
  40. .forEach(file => {
  41. let stat = fs.statSync(file)
  42. if (stat.isDirectory()) {
  43. if (file.indexOf(filter1) != -1 || file.indexOf(filter2) != -1
  44. || file.indexOf(filter3) != -1 || file.indexOf(filter4) != -1
  45. || file.indexOf(filter5) != -1 || file.indexOf(filter6) != -1
  46. || file.indexOf(filter7) != -1 ) {
  47. return
  48. }
  49. start(file)
  50. return
  51. }
  52. if(file.indexOf(filterFile1) != -1 || file.indexOf(filterFile2) != -1
  53. || file.indexOf(filterFile3) != -1)
  54. {
  55. return
  56. }
  57. let ext = path.extname(file)
  58. if (types.indexOf(ext) != -1) {
  59. line(file)
  60. }
  61. })
  62. }
  63. ;(async () => {
  64. await start(rootPath)
  65. console.log(`总代码行数:${num}`)
  66. })()

调用js文件扫描文件

  1. // <文件路径> <文件类型>
  2. node CheckCodeLines.js drawing .js .json .h .cpp

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/376049
推荐阅读
相关标签
  

闽ICP备14008679号