|
|
- Overview
- ========
-
- [![browser support](https://ci.testling.com/lydell/resolve-url.png)](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).
|