我需要帮助编写node.js应用程序,该应用程序搜索当前目录下名称包含指定字符串的所有子目录。
例如,用户想要搜索其中包含字符串'test'的所有目录。
我需要使用的js代码是什么?
我尝试使用它:
var walk = function(dir) {
var results = []
var list = fs.readdirSync(dir)
list.forEach(function(file) {
file = dir + '/' + file
var stat = fs.statSync(file)
if (stat && stat.isDirectory()) results = results.concat(walk(file))
else results.push(file)
})
return results
}
答案 0 :(得分:2)
在你的情况下,你可以像这样使用它。此模式将为您提供文件夹中包含至少一次测试名称的所有文件。
var glob = require("glob")
glob("+(test).js", options, function (er, files) {
// files is an array of filenames.
// If the `nonull` option is set, and nothing
// was found, then files is ["**/*.js"]
// er is an error object or null.
if (er) {
// omg something went wrong
throw new Exception(er);
}
var requiredFiles = files.map(function(filename) {
return require(filename);
});
// do something with the required files
});