Package Exports
- @nuxt/ufo
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@nuxt/ufo) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Install
Install using npm or yarn:
npm i @nuxt/ufo
# or
yarn add @nuxt/ufo
Import:
// CommonJS
const { normalizeURL, joinURL } = require('@nuxt/ufo')
// ESM
import { normalizeURL, joinURL } from '@nuxt/ufo'
Notice: You may need to transpile package and add URL polyfill for legacy environments
Usage
normalizeURL
- Ensures URL is properly encoded
- Ensures pathname starts with slash
- Preserves protocol/host if provided
// Result: test?query=123%20123#hash,%20test
normalizeURL('test?query=123 123#hash, test')
// Result: http://localhost:3000/
normalizeURL('http://localhost:3000')
joinURL
// Result: a/b/c
joinURL('a', '/b', '/c')
// Result: http://foo.com/foo/bar/baz?test=123#token
joinURL('http://foo.com/foo?test=123#token', 'bar', 'baz')
withparams
// Result: /foo?page=a&token=secret
withParams('/foo?page=a', { token: 'secret' })
getParams
// Result: { test: '123', unicode: '好' }
getParams('http://foo.com/foo?test=123&unicode=%E5%A5%BD')
withTrailingSlash
Ensures url ends with a trailing slash
// Result: /foo/
withTrailingSlash('/foo')
withoutTrailingSlash
Ensures url does not ends with a trailing slash
// Result: /foo
withoutTrailingSlash('/foo/')
cleanDoubleSlashes
Ensures url does not have double slash (except for protocol)
// Result: /foo/bar/
cleanDoubleSlashes('//foo//bar//')
// Result: http://example.com/analyze/http://localhost:3000/
cleanDoubleSlashes('http://example.com/analyze//http://localhost:3000//')
License
MIT. Made with 💖