Módulo de caminho Node.js

Resumo : neste tutorial, você aprenderá sobre o pathmódulo em Node.js

Node.js fornece o pathmódulo que permite interagir facilmente com caminhos de arquivos.

O pathmó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 pathobjeto possui a seppropriedade que representa o separador de caminho específico da plataforma:

path.sep
Linguagem de código:  JavaScript  ( javascript )

Os path.sepretornos \no Windows e /no Linux e macOS.

O pathobjeto também possui a delimiterpropriedade que representa o delimitador de caminho:

path.delimiterLinguagem de código:  JavaScript  ( javascript )

Os path.delimiterretornos ;no Windows e :no Linux e macOS.

Métodos de caminho úteis

A seguir mostramos alguns métodos úteis do pathmó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 extparâ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
.mdLinguagem de código:  JavaScript  ( javascript )

caminho.formato(caminhoObj)

O path.format()método retorna uma string de caminho de um pathobjeto 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 truese 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\distLinguagem 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:

../jsLinguagem 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/johnLinguagem 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.htmlLinguagem de código:  JavaScript  ( javascript )

Resumo

  • Use o pathmódulo principal para manipular o caminho do arquivo de forma eficaz.
  • O pathmódulo é específico da plataforma.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *