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/
npm install resolve-url
bower install resolve-url
component install lydell/resolve-url
Works with CommonJS, AMD and browser globals, through UMD.
Pass one or more urls. Resolves the last one to an absolute url, using the
previous ones and
It’s like starting out on
window.location, and then clicking links with the
href attributes in order, from left to right.
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
<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
npm test, which lints the code and then gives you a link to open in a
browser of choice (using