Caminhos de Ficheiro da Node.js

Como interagir com os caminhos de ficheiros e manipulá-los na Node.js

Autores do Artigo
Tabela de Conteúdos

Cada ficheiro no sistema tem um caminho. No Linux e MacOS, um caminho de ficheiro pode parecer-se com isto: /users/joe/file.txt enquanto nos computadores que usam Windows são diferentes, e têm uma estrutura parecida com: C:\users\joe\file.txt.

Tu precisas de prestar atenção quando estiveres a usar os caminhos nas tuas aplicações, já que diferenças devem ser levadas em conta.

Tu incluis este módulo nos teus ficheiros usando const path = require('path'); e podes começar a usar os seus métodos.

Recebendo informação de um caminho

Dado um caminho, podes extrair informações do caminho usando estes métodos:

  • dirname: recebe a pasta pai de um ficheiro
  • basename: recebe a parte do nome do ficheiro
  • extname: recebe a extensão do ficheiro

Por exemplo

Tu podes receber o nome do ficheiro sem a extensão especificando um segundo argumento para basename:

Trabalhando com os caminhos

Tu podes juntar duas ou mais partes de um caminho usando o método path.join():

Tu podes receber o cálculo do caminho absoluto de um caminho relativo usando o método path.resolve():

Neste caso a Node.js simplesmente anexará /joe.txt ao diretório de trabalho atual. Se especificares um segundo parâmetro de pasta, o resolve usará o primeiro como uma base para o segundo parâmetro:

Se o primeiro parâmetro começar com uma barra, este significa que é um caminho absoluto:

O método path.normalize() é uma outra função útil, que tentará e calculará o caminho verdadeiro, quando contém especificadores relativos como . ou .. ou duas barras:

Nem o resolve nem o normalize verificarão se o caminho existe. Eles apenas calculam um caminho baseado na informação que receberam.