Introduction to Canonical-Path
The canonical-path module is an essential utility for web developers who need to manage and optimize URL paths effectively. This module provides numerous APIs for path manipulation, normalization, and resolution, ensuring an SEO-friendly URL structure for your web applications.
Key API Methods
1. canonical(path)
Resolves a path to its canonical form by resolving any relative segments (i.e., .
and ..
).
const canonicalPath = canonicalPath('content/images/../styles/main.css');
console.log(canonicalPath); // Outputs: "content/styles/main.css"
2. isAbsolute(path)
Checks if a path is absolute.
const absolute = isAbsolute('/home/user/project');
console.log(absolute); // Outputs: true
3. join(...paths)
Joins all given path segments together using the platform-specific separator as a delimiter.
const jointPath = join('home', 'user', 'docs');
console.log(jointPath); // Outputs: "home/user/docs"
4. dirname(path)
Returns the directory name of a path.
const dir = dirname('/home/user/file.txt');
console.log(dir); // Outputs: "/home/user"
5. basename(path, ext)
Returns the last portion of a path, optionally removing a given extension.
const base = basename('/home/user/file.txt');
console.log(base); // Outputs: "file.txt"
const baseWithoutExt = basename('/home/user/file.txt', '.txt');
console.log(baseWithoutExt); // Outputs: "file"
6. extname(path)
Returns the extension of the path, including the ‘.’ character.
const ext = extname('/home/user/file.txt');
console.log(ext); // Outputs: ".txt"
App Example Using Canonical-Path
Below is an example of a simple Node.js application using canonical-path
APIs for path management:
const path = require('canonical-path');
function logFilePaths(filePath) {
const canonical = path.canonical(filePath);
const dir = path.dirname(canonical);
const base = path.basename(canonical);
const ext = path.extname(canonical);
console.log(`Canonical: ${canonical}`);
console.log(`Directory: ${dir}`);
console.log(`Base Name: ${base}`);
console.log(`Extension: ${ext}`);
}
// Test the function
logFilePaths('src/../src/utils/helpers.js');
This example demonstrates the versatility of canonical-path
for handling file and directory paths in a consistent and reliable manner.
Hash: d26e3b1dba5d2f17c22f80e1d9f4fe8053207b1313ecd934af3a7eae9f1db511