我已經編寫了小代碼以獲取通過擴展名篩選的文件。我的觀點邏輯很好,但我無法指出爲什麼我沒有得到預期的產出。節點Js:無法找到以下文件篩選器代碼中的錯誤
請看看。
CODE
var fs = require('fs')
var path = require('path')
path_name = process.argv[2]
ext_name = "."+process.argv[3]
var filter_function = function (path_name,exthide_name,callback) {
fs.readdir(dirpath,function(err,list) {
if(err) return console.error(err)
for (var i in list) {
if(path.extname(list[i]) == ext_name)
console.log(list[i])
}
})
}
module.exports=filter_function
輸出:
[email protected]:~/test/test1$ node ownModuleNode.js /home/linuxmen/test/test1/ js
[email protected]:~/test/test1$
但是我有js
擴展在該目錄中的文件太多了。
證明:
[email protected]:~/test/test1$ ls *js
check_mod1.js ex1.js ex2.js ex3.js ex4.js ex5.js ex6.js ex7.js ex8.js filter.js filter_use.js modse.js ownModuleNode.js se.js use_mod1.js using_module.js
能幫的,我錯過了什麼。
更新 - 1:我使用上面的代碼模塊文件,並在這裏調用它。使用上面的代碼
var mymodule = require('./ownModuleNode')
mymodule.filter_function(process.argv[2],process.argv[3])
更新2
文件:
var fs = require('fs')
var path = require('path')
path_name = process.argv[2]
ext_name = "."+process.argv[3]
console.log("path_name :",path_name,"extname:",ext_name)
var filter_function = function (path_name,ext_name,callback) {
fs.readdir(path_name,function(err,list) {
if (err) console.error(err)
console.log(list)
for (var i in list) {
if(path.extname(list[i]) == ext_name)
console.log(list[i])
}
})
}
module.exports=filter_function
輸出:
[email protected]:~/test/test1$ node ownModuleNode.js /home/linuxmen/test/test1/ js
pathanme : /home/linuxmen/test/test1/ extname: .js
謝謝。
您是否檢查過路徑是否正確,是否需要避開斜槓? – Tushar
你是否在某處調用過你的函數? – Maxx
@Tushar感謝您關注此事,是的路徑正確無需逃跑。 –