javascript - Node.js 中的 glob 并仅返回匹配项(无前导路径)

标签 javascript node.js coffeescript glob

我需要全局 ./../path/to/files/**/*.txt 但不是像这样接收匹配:

./../path/to/files/subdir/file.txt

我需要去掉根:

subdir/file.txt

目前,我有:

oldwd = process.cwd()
process.chdir(__dirname + "/../path/to/files")
glob.glob("**/*.txt", function (err, matches) {
  process.chdir(oldwd)
});

但它有点难看,而且似乎还有一个竞争条件:有时 glob 出现在 oldwd 上。所以必须去。

我正在考虑简单地映射 matches 并使用字符串操作剥离前导路径。由于 glob 返回与 dotdirs 解析的匹配项,我想我必须对我的搜索和替换字符串执行相同的操作。这变得非常困惑,我想知道是否有更好的(内置或库?)方法来处理这个问题。

那么,在 Node.js 中进行 glob 并且 只是 获得“匹配”部分的好、简洁和正确的方法是什么? JavaScript 和 CoffeeScript 都适合我

最佳答案

将目录传递给选项,并由 glob 处理所有这些困惑。

glob.glob("**/*.txt", {cwd: '../../wherever/'}, function(err, matches) {
    ...
});

关于javascript - Node.js 中的 glob 并仅返回匹配项(无前导路径),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8676979/

相关文章:

javascript - 如何使用 Liferay 和 JavaScript 创建多个文件的下载按钮?

javascript - 使用 jquery 向同一页面发送 GET 请求

javascript - 使用 axios 获取本地 JSON 数据时遇到问题

javascript - Coffeescript,在这种情况下如何在函数中传递变量?

javascript - 如何管理客户端 JavaScript 依赖项?

javascript - Vuejs 动态切换类在 Laravel Blade 模板中不起作用

javascript - request.getParameter 返回脏字符串

node.js - 通过 Digital Ocean 安装的 npm 被杀死

javascript - 将 json 从 Angular JS 传递到 Node JS

linux - 将 Super Key 添加到 Atom 编辑器的键绑定(bind)