Разница между путями.нормализовать и путь.разрешить в узле.js
в чем разница (если есть) между path.normalize(your_path) и path.resolve(your_path)?
Я знаю path.resolve(...) может принимать несколько аргументов, но является ли поведение с одним аргументом таким же, как вызов path.normalize()?
EDIT: если они должны вести себя так же, я не понимаю цель разоблачение path.normalize(...) функция, когда вы можете просто передать путь в path.resolve(...) или, может быть, это для целей документации. Например, говорят в документации ибо path.resolve(...):
... Полученный путь нормализуется, И...
разоблачение path.normalize(...) облегчает объяснение того, что означает" нормализованный"??? Я не знаю.
2 ответа:
path.normalizeизбавляет от лишних.,..и т. д. на пути.path.resolveразрешает путь в абсолютный путь. Пример (мой текущий рабочий каталог был/Users/mtilley/src/testing):> path.normalize('../../src/../src/node') '../../src/node' > path.resolve('../../src/../src/node') '/Users/mtilley/src/node'другими словами,
path.normalizeЭто "какой самый короткий путь я могу взять, что приведет меня к тому же месту, что и вход", в то время какpath.resolve"что-это моя цель, если я возьму этот путь."обратите внимание, однако, что
path.normalize()и много более контекстно-независимым, чемpath.resolve(). Имелpath.normalize()был контекст- dependent (т. е. если бы он учитывал текущий рабочий каталог), результат в приведенном выше примере был бы../node, потому что это самый короткий путь, который можно было бы взять от/Users/mtilley/src/testingдо/Users/mtilley/src/node.как ни странно, это означает, что
path.resolve()создает относительный путь в абсолютных терминах (вы можете выполнить его в любом месте, и он даст тот же результат), тогда какpath.normalize()производит абсолютный путь в относительный условия (вы должны выполнить его в пути, относительно которого вы хотите вычислить абсолютный результат).
документы:
другой способ думать о разрешении - это последовательность команд cd в оболочке.
ссылки путь.решите и путь.нормализовать в документации. Я в основном не хочу просто предоставлять ссылки в ответе, но узел.JS docs очень приличные.