Resumo : neste tutorial, você aprenderá sobre o path
módulo em Node.js
Node.js fornece o path
módulo que permite interagir facilmente com caminhos de arquivos.
O path
módulo possui muitas propriedades e métodos úteis para acessar e manipular caminhos no sistema de arquivos.
O path
é um módulo principal do Node. Portanto, você pode usá-lo sem instalar:
const path = require('path');
Linguagem de código: JavaScript ( javascript )
Propriedades de caminho úteis
O path
objeto possui a sep
propriedade que representa o separador de caminho específico da plataforma:
path.sep
Linguagem de código: JavaScript ( javascript )
Os path.sep
retornos \
no Windows e /
no Linux e macOS.
O path
objeto também possui a delimiter
propriedade que representa o delimitador de caminho:
path.delimiter
Linguagem de código: JavaScript ( javascript )
Os path.delimiter
retornos ;
no Windows e :
no Linux e macOS.
Métodos de caminho úteis
A seguir mostramos alguns métodos úteis do path
módulo que você provavelmente usa com frequência:
path.basename(path, [,ext])
path.dirname(path)
path.extname(path)
path.format(pathObj)
path.isAbsolute(path)
path.join(...path)
path.normalize(path)
path.parse(path)
path.relative(from, to)
path.resolve(...path)
Linguagem de código: JavaScript ( javascript )
caminho.nomebase(caminho[, ramal])
O path.basename()
retorna a última parte de um caminho especificado. Por exemplo:
let result = path.basename('/public_html/home/index.html');
console.log(result);
Linguagem de código: JavaScript ( javascript )
Saída:
index.html
Linguagem de código: JavaScript ( javascript )
O ext
parâmetro filtra a extensão do caminho:
let result = path.basename('/public_html/home/index.html','.html');
console.log(result);
Linguagem de código: JavaScript ( javascript )
Saída:
index
Linguagem de código: JavaScript ( javascript )
caminho.dirname(caminho)
O path.dirname()
método retorna o nome do diretório de um caminho especificado. Por exemplo:
let result = path.dirname('/public_html/home/index.html');
console.log(result);
Linguagem de código: JavaScript ( javascript )
Saída:
/public_html/home
Linguagem de código: JavaScript ( javascript )
Observe que path.dirname()
ignora o diretório final.
caminho.extname(caminho)
A path.extname()
extensão de retorno do caminho. Por exemplo:
console.log(path.extname('index.html'));
console.log(path.extname('app.js'));
console.log(path.extname('node.js.md'));
Linguagem de código: JavaScript ( javascript )
Saída:
.html
.js
.md
Linguagem de código: JavaScript ( javascript )
caminho.formato(caminhoObj)
O path.format()
método retorna uma string de caminho de um path
objeto especificado.
let pathToFile = path.format({
dir: 'public_html/home/js',
base: 'app.js'
});
console.log(pathToFile);
Linguagem de código: JavaScript ( javascript )
Saída (no Linux ou macOS):
public_html/home/js/app.js
Linguagem de código: JavaScript ( javascript )
caminho.isAbsolute(caminho)
O path.isAbsolute()
retorno true
se um caminho especificado for um caminho absoluto.
Por exemplo, no Windows:
let result = path.isAbsolute('C:\\node.js\\');
console.log(result); // true
result = path.isAbsolute('C:/node.js/');
console.log(result); // true
result = path.isAbsolute('/node.js');
console.log(result); // true
result = path.isAbsolute('home/');
console.log(result); // false
result = path.isAbsolute('.');
console.log(result); // false
Linguagem de código: JavaScript ( javascript )
No Linux e macOS:
let result = path.isAbsolute('/node/js/');
console.log(result); // true
result = path.isAbsolute('/node/..');
console.log(result); // true
result = path.isAbsolute('node/');
console.log(result); // false
result = path.isAbsolute('.');
console.log(result); // false
Linguagem de código: JavaScript ( javascript )
path.join(…caminhos)
O path.join()
método faz duas coisas:
- Junte-se a uma sequência de segmentos de caminho usando o separador específico da plataforma como delimitador
- Normalize o caminho resultante e retorne-o.
Por exemplo:
let pathToDir = path.join('/home', 'js', 'dist', 'app.js');
console.log(pathToDir);
Linguagem de código: JavaScript ( javascript )
Saída (no Windows):
\home\js\dist\app.js
Linguagem de código: JavaScript ( javascript )
caminho.parse(caminho)
O path.parse()
método retorna um objeto cujas propriedades representam os elementos do caminho. O objeto retornado possui as seguintes propriedades:
- raiz: a raiz
- dir: o caminho do diretório da raiz
- base: o nome do arquivo + extensão
- nome: o nome do arquivo
- ext: a extensão
Por exemplo, no Windows:
let pathObj = path.parse('d:/nodejs/html/js/app.js');
console.log(pathObj);
Linguagem de código: JavaScript ( javascript )
Saída:
{
root: 'd:/',
dir: 'd:/nodejs/html/js/',
base: 'app.js',
ext: '.js',
name: 'app'
}
Linguagem de código: JavaScript ( javascript )
No Linux ou macOS:
let pathObj = path.parse('/nodejs/html/js/app.js');
console.log(pathObj);
Linguagem de código: JavaScript ( javascript )
Saída:
{
root: '/',
dir: '/nodejs/html/js',
base: 'app.js',
ext: '.js',
name: 'app'
}
Linguagem de código: JavaScript ( javascript )
caminho.normalize(caminho)
O path.normalize()
método normaliza um caminho especificado. Ele também resolve os segmentos '..'
e '.'
.
Por exemplo, no Windows:
let pathToDir = path.normalize('C:\\node.js/module/js//dist');
console.log(pathToDir);
Linguagem de código: JavaScript ( javascript )
Saída:
C:\node.js\module\js\dist
Linguagem de código: JavaScript ( javascript )
caminho.relativo(de, para)
Aceita path.relative()
dois argumentos e retorna o caminho relativo entre eles com base no diretório de trabalho atual.
Por exemplo, no Linux ou macOS:
let relativePath = path.relative('/home/user/config/','/home/user/js/')
console.log(relativePath);
Linguagem de código: JavaScript ( javascript )
Saída:
../js
Linguagem de código: JavaScript ( javascript )
path.resolve(…caminhos)
O path.resolve()
método aceita uma sequência de caminhos ou segmentos de caminho e a resolve em um caminho absoluto. O path.resolve()
método precede cada caminho subsequente da direita para a esquerda até concluir a construção de um caminho absoluto.
Se você não passar nenhum argumento para o path.resolve()
método, ele retornará o diretório de trabalho atual.
Por exemplo, no Linux ou macOS:
console.log("Current working directory:", __dirname);
console.log(path.resolve());
Linguagem de código: JavaScript ( javascript )
Saída:
/home/john
/home/john
Linguagem de código: JavaScript ( javascript )
Neste exemplo, o path.resolve()
método retorna um caminho igual ao diretório de trabalho atual.
Veja outro exemplo no Linux ou macOS:
// Resolve 2 segments with the current directory
path1 = path.resolve("html", "index.html");
console.log(path1)
// Resolve 3 segments with the current directory
path2 = path.resolve("html", "js", "app.js");
console.log(path2)
// Treat of the first segment as root and ignore
// the current working directory
path3 = path.resolve("/home/html", "about.html");
console.log(path3);
Linguagem de código: JavaScript ( javascript )
Saída:
/home/john/html/index.html
/home/john/html/js/app.js
/home/html/about.html
Linguagem de código: JavaScript ( javascript )
Resumo
- Use o
path
módulo principal para manipular o caminho do arquivo de forma eficaz. - O
path
módulo é específico da plataforma.