繁体   English   中英

从 ES6 模块解析到绝对 url 的相对路径(在浏览器中)

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

如何在 ES6 模块(在浏览器中)中解析到绝对 url 的相对路径?

例如:

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

模块1.js

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

resolveUrl的实现是什么?

base-url.com/可能不是该网站的域。 它可以是只存储源的回购协议。

🎉 您现在可以使用to-absolute-url

它在底层使用stacktrace.js来获取调用者函数的绝对路径文件:

感谢@PatrickRoberts提出使用堆栈跟踪的想法,感谢@jfriend00提供使用URL对象的提示。

怎么样

const a = document.createElement('a')

function resolveUrl(path) {
  a.href = path
  return a.href // magic happens
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM