relative url to absolute url in nodejs

Learner picture Learner · Aug 21, 2017 · Viewed 8.6k times · Source

I have url like this:

http://example.com/path/to/css/../../images/test.jpg

which i want to convert to absolute like the following:

http://example.com/path/images/test.jpg

I am looking for a module in Nodejs to do the same. The module, path, does the same thing. but(path.resolve) prepends with the directory path too.

I am looking for something similar, but for urls.

Answer

posit labs picture posit labs · Aug 21, 2017

You can use the URL module. https://nodejs.org/docs/latest/api/url.html

const { URL } = require('url');
new URL('path/images/test.jpg', 'http://example.com/')

URL {
  href: 'http://example.com/path/images/test.jpg',
  origin: 'http://example.com',
  protocol: 'http:',
  username: '',
  password: '',
  host: 'example.com',
  hostname: 'example.com',
  port: '',
  pathname: '/path/images/test.jpg',
  search: '',
  searchParams: URLSearchParams {},
  hash: '' }