_dirname 和_filename 获取正在执行的 js 文件的路径|学习笔记

简介: 快速学习_dirname 和 _filename 获取正在执行的 js 文件的路径

开发者学堂课程【Node.js 入门与实战:_dirname 和_filename 获取正在执行的js文件的路径】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/588/detail/8252


_dirname 和_filename 获取正在执行的 js 文件的路径

 

一、获取正在执行的 js 文件路径示例

//读写文件中的路径问题

//例如读取hello.txt文件

var fs = require(‘fs’);   // 下载文件搜索模块 

// 此处的./相对路径,相对的是执行node命令的路径

// 而不是相对于正在执行的这个js文件来查找hello.txt

fs.readFile(‘./hello.txt’,’utf8’,function(err,data)){  //调用方法

if(err){

throw err;

}

console.log(data);

});

读取文件

测试结果:

image.png

代码不变换执行方式:

切换到D盘下执行C盘下03文件:文件路径写全

image.png

报写错误,以大写字母E报异常,因为相对路径错误。

//解决在文件读取中./相对路径的问题

//解决:__dirname、__filename

// __dirname:表示,当前正在执行的js文件所在的目录

// __filename:表示,当前正在执行的js文件的完整路径

console.log(_dirname);

console.log(_filename);//这两个代码始终表示当前执行文件所在的目录,并不会随在不同目录下执行而变化。 

先进入C盘文件目录下,测试结果如下:

image.png

切到D盘下,执行同样文件,测试结果如下:

image.png

解决方法:

var fs = require(‘fs’);

var filename = _dirname + ‘\\’ + ‘hello.txt’;

fs.readFile(filename,’utf8’,function(err,data)){

if(err){

throw err;

}

console.log(data);

});

C盘下执行结果(无误):

image.png

D盘下执行结果(无误):

image.png

//无论在任何目录下执行文件,读取目录始终正确

相关文章
|
7月前
|
JavaScript 前端开发 算法
流量分发代码实战|学会用JS控制用户访问路径
流量分发工具(Traffic Distributor),又称跳转器或负载均衡器,可通过JavaScript按预设规则将用户随机引导至不同网站,适用于SEO优化、广告投放、A/B测试等场景。本文分享一段不到百行的JS代码,实现智能、隐蔽的流量控制,并附完整示例与算法解析。
201 1
|
6月前
|
编解码 JavaScript 前端开发
如何在网页播放英文的m3u8文件(基于Javascript搭建的在线网页工具)
什么是m3u8?又该如何在网页中高效、便捷地播放英文的m3u8文件呢?今天这篇文章就带你一起了解,并推荐一种基于Javascript搭建的在线网页工具,让你轻松解决播放问题。
1390 0
|
9月前
|
监控 算法 JavaScript
基于 JavaScript 图算法的局域网网络访问控制模型构建及局域网禁止上网软件的技术实现路径研究
本文探讨局域网网络访问控制软件的技术框架,将其核心功能映射为图论模型,通过节点与边表示终端设备及访问关系。以JavaScript实现DFS算法,模拟访问权限判断,优化动态策略更新与多层级访问控制。结合流量监控数据,提升网络安全响应能力,为企业自主研发提供理论支持,推动智能化演进,助力数字化管理。
223 4
|
JavaScript 前端开发 内存技术
js文件的入口代码及需要入口代码的原因
js文件的入口代码及需要入口代码的原因
206 0
|
JavaScript 前端开发 API
Next.js 实战 (六):如何实现文件本地上传
这篇文章介绍了在Next.js中如何实现文件上传到本地的方法。文章首先提到Next.js官方文档中没有提供文件上传的实例代码,因此开发者需要自行实现,通常有两种思路:使用Node.js原生上传或使用第三方插件如multer。接着,文章选择了使用Node.js原生上传的方式来讲解实现过程,包括如何通过哈希值命名文件、上传到指定目录以及如何分类文件夹。然后,文章展示了具体的实现步骤,包括编写代码来处理文件上传,并给出了代码示例。最后,文章通过一个效果演示说明了如何通过postman模拟上传文件,并展示了上传后的文件夹结构。
426 0
Next.js 实战 (六):如何实现文件本地上传
|
前端开发 JavaScript API
前端JS读取文件内容并展示到页面上
前端JavaScript使用FileReader API读取文件内容,支持文本类型文件。在文件读取成功后,可以通过onload事件处理函数获取文件内容,然后展示到页面上。
567 2
前端JS读取文件内容并展示到页面上
|
JavaScript
Vue3基础(19)___vite.config.js中配置路径别名
本文介绍了如何在Vue 3的Vite配置文件`vite.config.js`中设置路径别名,以及如何在页面中使用这些别名导入模块。
753 0
Vue3基础(19)___vite.config.js中配置路径别名
|
JavaScript 前端开发 API
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
|
JavaScript 前端开发 数据安全/隐私保护
混淆指定js文件
【9月更文挑战第26天】JavaScript 混淆旨在保护代码知识产权、减小文件体积和提高安全性。方法包括变量名和函数名混淆、代码压缩、控制流平坦化及字符串加密。常用工具如 UglifyJS 和 JScrambler 可实现这些功能。然而,混淆可能带来兼容性和调试困难等问题,需谨慎使用并确保法律合规。
254 5
|
移动开发 JavaScript 前端开发
js之操作文件| 12-5
js之操作文件| 12-5