Le module de chemin de nœud

Le module de chemin de Node.js fournit des fonctions utiles pour interagir avec les chemins de fichiers

Lepathmodule fournit de nombreuses fonctionnalités très utiles pour accéder et interagir avec le système de fichiers.

Il n'est pas nécessaire de l'installer. Faisant partie du noyau Node, il peut être utilisé en l'exigeant:

const path = require('path')

Ce module fournitpath.sepqui fournit le séparateur de segment de chemin (\sous Windows, et/sous Linux / macOS), etpath.delimiterqui fournit le délimiteur de chemin (;sous Windows, et:sous Linux / macOS).

Voici lespathméthodes:

path.basename()

Renvoie la dernière partie d'un chemin. Un deuxième paramètre peut filtrer l'extension de fichier:

require('path').basename('/test/something') //something
require('path').basename('/test/something.txt') //something.txt
require('path').basename('/test/something.txt', '.txt') //something

path.dirname()

Renvoie la partie répertoire d'un chemin:

require('path').dirname('/test/something') // /test
require('path').dirname('/test/something/file.txt') // /test/something

path.extname()

Renvoie la partie d'extension d'un chemin

require('path').extname('/test/something') // ''
require('path').extname('/test/something/file.txt') // '.txt'

path.isAbsolute()

Renvoie true s'il s'agit d'un chemin absolu

require('path').isAbsolute('/test/something') // true
require('path').isAbsolute('./test/something') // false

path.join()

Joint deux ou plusieurs parties d'un chemin:

const name = 'flavio'
require('path').join('/', 'users', name, 'notes.txt') //'/users/flavio/notes.txt'

path.normalize()

Tente de calculer le chemin réel lorsqu'il contient des spécificateurs relatifs tels que.ou.., ou doubles barres obliques:

require('path').normalize('/users/flavio/..//test.txt') ///users/test.txt

path.parse()

Analyse un chemin vers un objet avec les segments qui le composent:

  • root: la racine
  • dir: le chemin du dossier à partir de la racine
  • base: le nom du fichier + l'extension
  • name: le nom du fichier
  • ext: l'extension de fichier

Exemple:

require('path').parse('/users/test.txt')

résulte en

{
  root: '/',
  dir: '/users',
  base: 'test.txt',
  ext: '.txt',
  name: 'test'
}

path.relative()

Accepte 2 chemins comme arguments. Renvoie le chemin relatif du premier chemin au second, en fonction du répertoire de travail actuel.

Exemple:

require('path').relative('/Users/flavio', '/Users/flavio/test.txt') //'test.txt'
require('path').relative('/Users/flavio', '/Users/flavio/something/test.txt') //'something/test.txt'

path.resolve()

Vous pouvez obtenir le calcul du chemin absolu d'un chemin relatif en utilisantpath.resolve():

path.resolve('flavio.txt') //'/Users/flavio/flavio.txt' if run from my home folder

En spécifiant un deuxième paramètre,resolveutilisera le premier comme base pour le second:

path.resolve('tmp', 'flavio.txt')//'/Users/flavio/tmp/flavio.txt' if run from my home folder

Si le premier paramètre commence par une barre oblique, cela signifie que c'est un chemin absolu:

path.resolve('/etc', 'flavio.txt')//'/etc/flavio.txt'

Téléchargez mon gratuitManuel de Node.js


Plus de didacticiels sur les nœuds: