当前位置:首页 > JavaScript

js实现路径获取

2026-04-07 13:06:04JavaScript

获取当前脚本路径

在JavaScript中获取当前执行的脚本路径可以通过document.currentScript属性实现。该属性返回当前正在执行的<script>元素:

const currentScriptPath = document.currentScript.src;
console.log('当前脚本路径:', currentScriptPath);

注意:该方法仅在脚本同步执行时有效,异步加载的脚本可能返回null。

获取调用栈中的路径

通过new Error().stack可以获取调用栈信息,从中提取文件路径:

function getScriptPath() {
  const stack = new Error().stack;
  const stackLines = stack.split('\n');
  // 通常第二行包含调用者信息
  const callerLine = stackLines[2]; 
  const match = callerLine.match(/(http|https|file):\/\/[^)]+/);
  return match ? match[0] : null;
}

const path = getScriptPath();
console.log('调用栈路径:', path);

动态加载脚本路径

对于动态创建的<script>标签,可以在加载事件中获取路径:

const script = document.createElement('script');
script.src = 'example.js';
script.onload = function() {
  console.log('加载的脚本路径:', this.src);
};
document.head.appendChild(script);

Node.js环境路径获取

在Node.js环境中可以使用__filename__dirname获取路径:

console.log('当前文件绝对路径:', __filename);
console.log('当前目录路径:', __dirname);

// 获取调用者路径
const callerPath = require.cache[module.parent.id].filename;
console.log('调用者路径:', callerPath);

相对路径转换为绝对路径

将相对路径转换为绝对路径可以使用URL API:

const relativePath = './lib/utils.js';
const absolutePath = new URL(relativePath, window.location.href).href;
console.log('绝对路径:', absolutePath);

获取页面基础路径

通过document.baseURI获取文档的基础路径:

const basePath = document.baseURI;
console.log('文档基础路径:', basePath);

路径解析与操作

使用URL对象可以方便地解析和操作路径:

js实现路径获取

const url = new URL('https://example.com/path/file.html?query=1');
console.log('协议:', url.protocol);
console.log('主机:', url.host);
console.log('路径:', url.pathname);
console.log('文件名:', url.pathname.split('/').pop());

标签: 路径js
分享给朋友:

相关文章

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选框…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码 funct…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 c…

js实现路由

js实现路由

js实现路由的方法 在JavaScript中实现路由功能可以通过多种方式完成,以下是几种常见的方法: 使用原生JavaScript实现路由 通过监听window.onhashchange事件来实现基…