获取js脚本的绝对路径

脚本运行在Web中

使用以下代码即可获取:

globalThis.document.currentScript.src

document.currentScript返回的是当前执行的script元素;然后调用script元素的src属性即可获取脚本文件的绝对路径。

脚本运行在WebWorker中

WebWorker不可以访问document对象. 但是可以通过以下方式获取绝对路径:

globalThis.location.href

脚本运行在Node.js中

__filename // 控制台中未定义
module.filename // 推荐

通用函数

/**
 * 获取运行该函数的脚本的绝对路径
 */
function get_absolute_path() {
    if (globalThis.constructor.name === 'Window') return (document.currentScript && document.currentScript.src) || document.location.href;
    if (globalThis.constructor.name === 'DedicatedWorkerGlobalScope') return globalThis.location.href;
    if (globalThis.constructor.name === 'Object') return module.filename;
}
原文地址:https://www.cnblogs.com/develon/p/13605987.html