当前位置:首页 > JavaScript

js实现路径获取

2026-04-07 13:06:04JavaScript

获取当前脚本路径

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

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

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

获取调用栈中的路径

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

js实现路径获取

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获取路径:

js实现路径获取

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对象可以方便地解析和操作路径:

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 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似:…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…