Bird
Raised Fist0
Node.jsframework~5 mins

path.basename and path.dirname in Node.js - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What does path.basename do in Node.js?

path.basename returns the last part of a file path, usually the file name with extension.

Click to reveal answer
beginner
What is the purpose of path.dirname in Node.js?

path.dirname returns the directory part of a file path, which is everything except the last part.

Click to reveal answer
beginner
Given the path /home/user/docs/file.txt, what will path.basename return?

It will return file.txt, the last part of the path.

Click to reveal answer
beginner
Given the path /home/user/docs/file.txt, what will path.dirname return?

It will return /home/user/docs, the directory part of the path.

Click to reveal answer
intermediate
How can you use path.basename to get the file name without its extension?

You can pass a second argument with the extension to remove, like path.basename('/path/file.txt', '.txt') which returns file.

Click to reveal answer
What does path.basename('/folder/file.txt') return?
Afile.txt
B/folder/file.txt
C/folder
Dfile
What does path.dirname('/folder/file.txt') return?
Afile
Bfile.txt
C/folder/file.txt
D/folder
How do you get the file name without extension using path.basename?
AUse <code>path.extname</code>
BUse <code>path.dirname</code>
CPass the extension as second argument to remove it
DUse <code>path.join</code>
Which module do you need to use basename and dirname?
Apath
Bhttp
Cos
Dfs
What will path.basename('/folder/file.txt', '.txt') return?
Afile.txt
Bfile
C.txt
D/folder/file
Explain how path.basename and path.dirname help you work with file paths in Node.js.
Think about splitting a full file path into folder and file name.
You got /4 concepts.
    Describe a real-life situation where you might use path.basename and path.dirname in a Node.js project.
    Imagine you are building a file manager or uploader.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does path.basename return when given a full file path?
      easy
      A. The folder path only
      B. The file name with extension
      C. The full path unchanged
      D. The file extension only

      Solution

      1. Step 1: Understand path.basename purpose

        This function extracts the last part of a path, which is usually the file name with its extension.
      2. Step 2: Compare with other path parts

        Unlike path.dirname which returns the folder path, path.basename returns the file name part.
      3. Final Answer:

        The file name with extension -> Option B
      4. Quick Check:

        basename = file name [OK]
      Hint: basename gives file name, dirname gives folder path [OK]
      Common Mistakes:
      • Confusing basename with dirname
      • Expecting basename to return folder path
      • Thinking basename returns file extension only
      2. Which of the following is the correct syntax to get the directory name from a path using Node.js path module?
      easy
      A. path.getDirName('/home/user/file.txt')
      B. path.getdirname('/home/user/file.txt')
      C. path.dirName('/home/user/file.txt')
      D. path.dirname('/home/user/file.txt')

      Solution

      1. Step 1: Recall correct method name in path module

        The correct method to get the directory name is dirname, all lowercase.
      2. Step 2: Check method call syntax

        It is called as path.dirname(pathString), so path.dirname('/home/user/file.txt') matches exactly.
      3. Final Answer:

        path.dirname('/home/user/file.txt') -> Option D
      4. Quick Check:

        dirname method syntax = path.dirname('/home/user/file.txt') [OK]
      Hint: Use exact method name dirname() with lowercase letters [OK]
      Common Mistakes:
      • Capitalizing method names incorrectly
      • Using getDirName or similar incorrect names
      • Misspelling dirname as dirName
      3. What will be the output of the following code?
      const path = require('path');
      const fullPath = '/var/www/html/index.html';
      console.log(path.basename(fullPath));
      console.log(path.dirname(fullPath));
      medium
      A. index.html
      /var/www/html
      B. /var/www/html/index.html
      index.html
      C. index
      /var/www/html/index.html
      D. /var/www/html
      index.html

      Solution

      1. Step 1: Evaluate path.basename(fullPath)

        This returns the file name with extension, which is index.html.
      2. Step 2: Evaluate path.dirname(fullPath)

        This returns the folder path containing the file, which is /var/www/html.
      3. Final Answer:

        index.html
        /var/www/html
        -> Option A
      4. Quick Check:

        basename = file name, dirname = folder path [OK]
      Hint: basename prints file, dirname prints folder path [OK]
      Common Mistakes:
      • Swapping basename and dirname outputs
      • Expecting basename to return folder path
      • Confusing output order
      4. Identify the error in this code snippet:
      const path = require('path');
      const filePath = '/usr/local/bin/node';
      console.log(path.baseName(filePath));
      console.log(path.dirname(filePath));
      medium
      A. Incorrect method name 'baseName' should be 'basename'
      B. Missing import of 'path' module
      C. Wrong argument type passed to dirname
      D. No error, code runs fine

      Solution

      1. Step 1: Check method names used

        The method path.baseName is incorrect because the correct method is all lowercase basename.
      2. Step 2: Verify other parts

        The path module is imported correctly and dirname usage is correct, so no other errors.
      3. Final Answer:

        Incorrect method name 'baseName' should be 'basename' -> Option A
      4. Quick Check:

        Method names are case-sensitive [OK]
      Hint: Check method name spelling and case carefully [OK]
      Common Mistakes:
      • Using wrong case in method names
      • Assuming method names are case-insensitive
      • Ignoring error messages about undefined functions
      5. Given the path /home/user/docs/letter.txt, how can you use path.basename and path.dirname together to print:
      Folder: /home/user/docs
      File: letter.txt
      Which code snippet achieves this?
      hard
      A. console.log(`Folder: ${path.dirname(path.basename(filePath))}`); console.log(`File: ${path.basename(path.dirname(filePath))}`);
      B. console.log(`Folder: ${path.basename(filePath)}`); console.log(`File: ${path.dirname(filePath)}`);
      C. console.log(`Folder: ${path.dirname(filePath)}`); console.log(`File: ${path.basename(filePath)}`);
      D. console.log(`Folder: ${filePath.dirname()}`); console.log(`File: ${filePath.basename()}`);

      Solution

      1. Step 1: Use path.dirname to get folder path

        Calling path.dirname(filePath) returns the folder path /home/user/docs.
      2. Step 2: Use path.basename to get file name

        Calling path.basename(filePath) returns the file name letter.txt.
      3. Step 3: Combine in template strings for output

        Using template literals with these calls prints the desired output lines.
      4. Final Answer:

        console.log(`Folder: ${path.dirname(filePath)}`); console.log(`File: ${path.basename(filePath)}`); -> Option C
      5. Quick Check:

        dirname = folder, basename = file [OK]
      Hint: dirname for folder, basename for file name [OK]
      Common Mistakes:
      • Swapping basename and dirname calls
      • Trying to call basename/dirname on strings directly
      • Using incorrect method chaining