Ответ 1
использовать path.dirname
// onlyPath should be G:\node-demos\7-handlebars-watch\demo
var onlyPath = require('path').dirname('G:\node-demos\7-node-module\demo\config.json');
Есть ли способ получить путь к папке, содержащей определенный файл.
fs.realpathSync('config.json', []);
возвращает что-то вроде
G:\node-demos\7-node-module\demo\config.json
Мне просто нужно
G:\node-demos\7-node-module\demo\
or
G:\node-demos\7-node-module\demo\
Есть ли api для этого или мне нужно обработать строку?
использовать path.dirname
// onlyPath should be G:\node-demos\7-handlebars-watch\demo
var onlyPath = require('path').dirname('G:\node-demos\7-node-module\demo\config.json');
Просто установите модуль path
и используйте его,
var path = require('path');
path.dirname('G:\node-demos\7-node-module\demo\config.json')
// Returns: G:\node-demos\7-node-module\demo
require("path").dirname(……)
прерывается, когда ваш путь явно не указывает его каталог.
require("path").dirname("./..")
// "."
Вы можете вместо этого использовать require("path").join(……, "../")
. Сохраняет также конечный разделитель.
require("path").join("whatever/absolute/or/relative", "../")
// "whatever/absolute/or/" (POSIX)
// "whatever\\absolute\\or\\" (Windows)
require("path").join(".", "../")
// "../" (POSIX)
// "..\\" (Windows)
require("path").join("..", "../")
// "../../" (POSIX)
// "..\\..\\" (Windows)
require("path").win32.join("C:\\", "../")
// "C:\\"