glob в Node.js и возвращает только совпадение (без ведущего пути)

Мне нужно glob ./../ path / to / files / ** / *. txt , но вместо получения таких совпадений :

./../ путь / к / 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)
});

Но это немного некрасиво и, похоже, имеет состояние гонки: иногда глобус встречается на oldwd. Так что это должно пройти.

Я рассматриваю простое отображение совпадений и удаление ведущего пути с помощью строковых операций. Поскольку glob возвращает совпадения с разрешенными dotdirs, я полагаю, что мне придется сделать то же самое с моей строкой поиска и замены. Это становится настолько беспорядочным, что мне интересно, есть ли лучший (встроенный или библиотечный?) Способ справиться с этим.

Итак, каков хороший, изящный и правильный способ подстановки в Node.js и только получения «согласованной» части? JavaScript и CoffeeScript меня устраивают

9
задан Rebe 30 December 2011 в 06:53
поделиться