2017-01-21 6 views
0

Say есть FilePath var dir = "my/file/directory" и я поставляю относительный путь к файлу var rel = "../../other/directory/myFile.js", как можно вычислить реальный каталог:NodeJS - Относительные пути файла

var dir = "my/file/directory" 
var rel = "../../other/directory/myFile.js" 
var nDir = func(dir,rel) // returns "my/other/directory/myFile.js" 

До сих пор я нашел path = require('path') и был возиться с функциями в REPL. Однако я не вижу, где функция relative(), полезна при определении конечного пути ...?

Насколько я могу видеть:

var p1 = "root" 
var p2 = "my/dir/file.js" 
var O = path.relative(p1,p2) //returns "../my/dir/file.js" 

она возвращается относительный путь ... где, как, мне, это должно вернуть "root/my/dir/file.js"?

ответ

3

Вы можете взглянуть на Node Docs on path.resolve, который возвращает абсолютный путь. path.relative вернет относительный путь.

+0

Ах! Правильно. Когда я смотрел на решение в консоли, он указал, что у него нет аргументов! – Sancarn

+0

Когда вы вводите его в узле repl, он просто вернет то, что путь path.resolve, так что он будет выглядеть примерно так: [Function: resolve]. Обычно, когда вы хотите проверить, как использовать определенный api, вам обязательно нужно обратиться к документации – teaflavored

+0

Ах, у меня это 'function resolve() {var resolvedPath = ''; var resolvedAbsolute = false; var cwd; ...' , Имеет смысл смотреть в документации, хотя ... Просто не думал, что это будет полезно из того, что я видел. – Sancarn

Смежные вопросы