Skip to content
Advertisement

Resolve relative path to absolute url from ES6 module (in browser)

How to resolve relative path to absolute url in ES6 module (in browser)?

For example :

base-url.com/
    |-resolve
    |   |-resolveUrl.js
    |-dir
        |-dir1
            |-module1.js
        |-dir2
            |-module2.js

module1.js

import resolveUrl from "../../../resolve/resolveUrl.js"
resolveUrl("../dir2/module2.js") // return 'base-url.com/dir/dir2/module2.js'

What would be the resolveUrl implementation?

base-url.com/ may not be the web-site’s domain. It can be a repo where only sources are stored.

Advertisement

Answer

🎉 You can now use to-absolute-url.

It uses stacktrace.js under the hoods to get the caller function’s absolute path file:

Thanks to @PatrickRoberts for his idea to use stacktrace, and @jfriend00 for his tip to use URL object.

User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement