Node中的_dirname和_filename

1、_dirname:可以动态获取用来获取文件模块所属目录的绝对路径;
2、_filename:可以动态获取用来获取当前文件的绝对路径;

var fs=require('fs')//./a.txt相对于当前文件路径;
//./a.txt相对于执行node命令所处的终端路径
//这不是错误,node就是这样设计的;
//就是说,文件操作路径中,相对路径设计就是相对于执行node命令所处的路径
fs.readFile('C:/Users/lpz/index.js','utf8',function(err,data){if(err){throw err}console.log(data)
})

在文件操作中,使用相对路径是不可靠的,因为在node中文件操作的路径被设计为相对与执行node命令所处的路径,所以为了处理这个问题,把相对路径改为绝对路径就好了。
_dirname和_filename执行是不受执行node命令所属路径影响的。可以用path.join()来辅助拼接。

var fs=require('fs')//./a.txt相对于当前文件路径;
//./a.txt相对于执行node命令所处的终端路径
//这不是错误,node就是这样设计的;
//就是说,文件操作路径中,相对路径设计就是相对于执行node命令所处的路径
//fs.readFile('C:/Users/lpz/index.js','utf8',function(err,data){//  if(err){//      throw err
//  }
//  console.log(data)
//})fs.readFile(path.join(__dirname),'./a.txt','utf8',function(err,data){if(err){throw err}console.log(data)
})//方法2:
//模块中的路径标识和文件操作中的相对路径标识不一致;
//模块中的路径标识就是相对于当前文件模块,不受执行node命令所处路径影响:
require('./b')

Node中的_dirname和_filename相关推荐

  1. 长连接及在Node中的应用——HTTP/1.1 keep-alive

    HTTP请求都要经过TCP三次握手建立连接,四次分手断开连,如果每个HTTP请求都要建立TCP连接的话是极其费时的,因此HTTP/1.1中浏览器默认开启了Connection: keep-alive. ...

  2. 打开浏览器的包 node_如何发布可在浏览器和Node中使用的软件包

    打开浏览器的包 node When you create a package for others to use, you have to consider where your user will ...

  3. node中模块、AMD与CMD、ES6模块,node中使用ES6

    1.Nodejs 中的模块 在node环境中一个js文件就是一个模块(module) 我们采用的是CommonJS规范,使用require引入模块,使用module.exports导出接口 node的 ...

  4. node 进阶 | 通过node中如何捕获异常阐述express的特点

    node如何捕获异常 node基于js的单线程,有了非阻塞异步回调的概念,但是在处理多个并发连接时,并发环境要求高,最重要的是单线程,单核CPU,一个进程crash则web服务都crash,但是为什么 ...

  5. Node中同步与异步的方式读取文件

    场景 Node.js最大的特点就是异步式I/O(或者非阻塞I/O)与事件紧密结合的编程模式.这种模式与传统的同步式I/O线性的编程思路有很大的不同,因为控制流很大程度上要靠事件和回调函数来组织,一个逻 ...

  6. 二十五、Node中的Buffer缓冲器和EventEmitter事件触发器

    @Author:Runsen @Date:2020/6/5 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...

  7. node中异步IO的理解

    解释性语言和编译型语言的区别: 计算器不能直接的理解高级语言,只能理解机器语言,所以必须把高级语言翻译为机器语言,翻译的方式有两种,一个是编译,一个是解释. 解释性语言的程序不需要编译,它是在运行程序 ...

  8. node --- 在node中使用mongoosemongoDB的安装

    *首先确保,你的电脑安装了mongodb,网址: mongodb官网 *使用npm安装 mongoose: mongoose官网 ps:mongoose是Node中操作mongoDB的第三方插件.用于 ...

  9. 什么流读取MultipartFile_深入理解并运用Node中的IO模型流

    在 NodeJs 中,流随处可见,读/写文件流,HTTP请求/返回流,stdin/stdout流.理解并运用好流会让你的Node更具力量. Stream lib/_stream_readable.js ...

最新文章

  1. android 广告效果图,android 仿首页广告轮播效果
  2. Leetcode题目:Rectangle Area
  3. python手机销售系统详细设计_数据库详细设计文档 .doc
  4. Curses 中的 noecho() 函数
  5. git clone 代理配置
  6. 各个版本的ArcGis集合下载
  7. 深入理解Nginx~网络连接的设置
  8. 修改整个app的字体
  9. [Mysql] STR_TO_DATE函数
  10. 基于R语言的模型组合
  11. Machine Learning Regression-Case Study
  12. YOLOv报错(Arial.ttf)
  13. 常见的短信群发平台,短信群发平台分类
  14. 2017 多校4 Wavel Sequence
  15. 怎样用Excel搜索表格内的内容?
  16. 阿里云数据库 mysql RDS 连接失败 HikariPool-1 - Exception during pool initialization.
  17. 走近手球运动·体育项目
  18. 【编程题】【Scratch三级】2022.06 五彩糖葫芦
  19. php开发框架symfony,symfony
  20. Android安全框架:Verfied boot -- Secure Boot

热门文章

  1. jsonp无X-Requested-With 及其深扒
  2. STM32F105RBT6 uart调试
  3. CE-植物大战僵尸-僵尸-关卡-金币
  4. 神秘感十足的磁悬浮盆栽,敢不敢剁手来一款?
  5. 从键盘读入一个字符串,若遇到字母,则输出0;若遇到数字则输出1;否则不输出。例如:输入ab@12c,输出00110
  6. CSS(一):CSS概述、CSS引入方式、CSS优先级、CSS代码格式、CSS属性;CSS选择器;尺寸和颜色单位、背景和文本设置
  7. 语音识别芯片LD3320介绍
  8. 安全狗获聘福建省网络与信息安全信息通报中心技术支撑单位
  9. android手机的语音助手在哪里设置,华为语音助手在哪设置 华为语音助手唤醒具体步骤...
  10. 数字图像处理风格化效果——马赛克处理