path-browserify-es
v1.1.0
Published
The path module from node core for browsers
Downloads
77
Readme
path-browserify-es
The
path
module from Node.js for browsers
This implements the Node.js path
module for environments that do not have it, like browsers.
However, path-browserify
does not work well with ES Module, for example, you cannot use named imports.
This fork aims to enable path-browserify
to support the format of ES Module, and additionally add some new methods.
Installation
# npm
npm install path-browserify-es
# yarn
yarn add path-browserify-es
# pnpm
pnpm add path-browserify-es
TypeScript
This is already fully TypeScript based, there is no need to install any additional type packages.
Usage
Basic Usage
import path from "path-browserify-es";
const filename = "logo.png";
const logo = path.join("./assets/img", filename);
document.querySelector("#logo").src = logo;
New Feature: Named Import
You can do it directly like this:
import { resolve } from "path-browserify-es";
console.log(resolve("var/lib", "../", "file")); // "var/file"
Without:
import path from "path-browserify-es";
const { resolve } = path;
console.log(resolve("var/lib", "../", "file")); // "var/file"
// or
console.log(path.resolve("var/lib", "../", "file")); // "var/file"
New Methods
fileRoot
Get the file name without an extension.
console.log(path.basename("path/to/file.txt")); // "file.txt"
console.log(path.fileRoot("path/to/file.txt")); // "file"
Before this, you could only achieve it by parse("path/to/file.txt").name
.
The function name comes from this post. It mentioned Vim calls it file root (:help filename-modifiers). I used to name it filenameWithoutExtension
, but it was too long.
ext
Get the file extension name but without the leading dot.
console.log(path.extname("path/to/file.txt")); // ".txt"
console.log(path.ext("path/to/file.txt")); // "txt"
I used to name it extnameWithoutDot
, but it was too long. And it's more commonly used than extname
method. There is currently no widely accepted consensus on whether the extension needs to include the leading dot. If it's not for compatibility, it's best to rename the function that gets the extension with dot to dotExtname
.
API
See the Node.js path docs. path-browserify
currently matches the Node.js 10.3 API.
path-browserify
only implements the POSIX functions, not the win32 ones.
License
path-browserify-es is available under the MIT License. See the LICENSE file for more info.