NodeJS - convert relative path to absolute

87,844

Solution 1

Use path.resolve

try:

resolve = require('path').resolve
resolve('../../bb/tmp.txt')

Solution 2

You could also use __dirname and __filename for absolute path.

Share:
87,844
cheziHoyzer
Author by

cheziHoyzer

Updated on July 08, 2022

Comments

  • cheziHoyzer
    cheziHoyzer almost 2 years

    In my File-system my working directory is here:

    C:\temp\a\b\c\d

    and under b\bb there's file: tmp.txt

    C:\temp\a\b\bb\tmp.txt

    If I want to go to this file from my working directory, I'll use this path:

    "../../bb/tmp.txt"
    

    In case the file is not exist I want to log the full path and tell the user:
    "The file C:\temp\a\b\bb\tmp.txt is not exist".

    My question:

    I need some function that convert the relative path: "../../bb/tmp.txt" to absolute: "C:\temp\a\b\bb\tmp.txt"

    In my code it should be like this:

    console.log("The file" + convertToAbs("../../bb/tmp.txt") + " is not exist")
    
  • kryptokinght
    kryptokinght over 5 years
    Use this only to know the absolute path of the current directory in which the file resides and the current file respectively.
  • harveyhans
    harveyhans over 5 years
    you can also use const {resolve} = require("path");
  • Code_Crash
    Code_Crash about 5 years
    @DarkKnight, Is there any way to avoid ../../../etc?
  • DarkKnight
    DarkKnight about 5 years
    @Code_Crash you can use a variable or change working directory like this: stackoverflow.com/q/19803748/4578017 A variable is preferred since changing working directory might cause unwanted side effects