Server : nginx/1.18.0 System : Linux localhost 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64 User : www-data ( 33) PHP Version : 8.0.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/ecommerce/node_modules/resolve-url/ |
Overview
========
[](https://ci.testling.com/lydell/resolve-url)
Like Node.js’ [`path.resolve`]/[`url.resolve`] for the browser.
```js
var resolveUrl = require("resolve-url")
window.location
// https://example.com/articles/resolving-urls/edit
resolveUrl("remove")
// https://example.com/articles/resolving-urls/remove
resolveUrl("/static/scripts/app.js")
// https://example.com/static/scripts/app.js
// Imagine /static/scripts/app.js contains `//# sourceMappingURL=../source-maps/app.js.map`
resolveUrl("/static/scripts/app.js", "../source-maps/app.js.map")
// https://example.com/static/source-maps/app.js.map
resolveUrl("/static/scripts/app.js", "../source-maps/app.js.map", "../coffee/app.coffee")
// https://example.com/static/coffee/app.coffee
resolveUrl("//cdn.example.com/jquery.js")
// https://cdn.example.com/jquery.js
resolveUrl("http://foo.org/")
// http://foo.org/
```
Installation
============
- `npm install resolve-url`
- `bower install resolve-url`
- `component install lydell/resolve-url`
Works with CommonJS, AMD and browser globals, through UMD.
Usage
=====
### `resolveUrl(...urls)` ###
Pass one or more urls. Resolves the last one to an absolute url, using the
previous ones and `window.location`.
It’s like starting out on `window.location`, and then clicking links with the
urls as `href` attributes in order, from left to right.
Unlike Node.js’ [`path.resolve`], this function always goes through all of the
arguments, from left to right. `path.resolve` goes from right to left and only
in the worst case goes through them all. Should that matter.
Actually, the function is _really_ like clicking a lot of links in series: An
actual `<a>` gets its `href` attribute set for each url! This means that the
url resolution of the browser is used, which makes this module really
light-weight.
Also note that this functions deals with urls, not paths, so in that respect it
has more in common with Node.js’ [`url.resolve`]. But the arguments are more
like [`path.resolve`].
[`path.resolve`]: http://nodejs.org/api/path.html#path_path_resolve_from_to
[`url.resolve`]: http://nodejs.org/api/url.html#url_url_resolve_from_to
Tests
=====
Run `npm test`, which lints the code and then gives you a link to open in a
browser of choice (using `testling`).
License
=======
[The X11 (“MIT”) License](LICENSE).