当前位置: 首页 > news >正文

node基础

从node文档里抄了一些东西贴出来,省的每次都找好久(node文档的那个目录,我感觉找东西挺费劲的)
(ps:为什么node v25版本的文档里找不到path模块,v24版本的文档里找到了!!!)

模块作用域

1. __dirname

类型:<string>
当前模块的目录名。这与__filenamepath.dirname()相同。

console.log(__dirname);// Prints: /Users/mjrconsole.log(path.dirname(__filename));// Prints: /Users/mjr
2. __filename

当前模块的文件名。这是当前模块文件的绝对路径,并解析了符号链接。

对于主程序,这不一定与命令行中使用的文件名相同。

有关当前模块的目录名,请参见__dirname

console.log(__filename);// Prints: /Users/mjr/example.jsconsole.log(__dirname);// Prints: /Users/mjr
require(id)
  • id 模块名称或路径
  • 返回: 导出的模块内容
    用于导入模块、JSON和本地文件。模块可以从node_modules导入。本地模块和JSON文件可以使用相对路径(例如./、./foo、./bar/baz、../foo)导入,该路径将相对于由__dirname(如果已定义)或当前工作目录命名的目录进行解析。POSIX 风格的相对路径以操作系统无关的方式解析,这意味着上述示例在 Windows 上的工作方式与在 Unix 系统上相同。
// Importing a local module with a path relative to the `__dirname` or current// working directory. (On Windows, this would resolve to .\path\myLocalModule.)constmyLocalModule=require('./path/myLocalModule');// 引入一个json文件constjsonData=require('./path/filename.json');// Importing a module from node_modules or Node.js built-in module:constcrypto=require('node:crypto');

path路径

1. path.basename(path[, suffix])
  • path<string>

  • suffix<string>要删除的可选后缀

  • 返回:<string>

    path.basename() 方法返回 path 的最后一部分,类似于 Unix basename 命令。忽略尾随 目录分隔符。

path.basename('/foo/bar/baz/asdf/quux.html');// Returns: 'quux.html'path.basename('/foo/bar/baz/asdf/quux.html','.html');// Returns: 'quux'
2. path.dirname(path)

path.dirname() 方法返回 path 的目录名,类似于 Unix dirname 命令。尾随的目录分隔符被忽略

path.dirname('/foo/bar/baz/asdf/quux');// Returns: '/foo/bar/baz/asdf'
http://www.cnnetsun.cn/news/27306.html

相关文章:

  • 别让孩子视力提早“透支” ,这份护眼指南请收好
  • 儿童青少年近视干预科学指引,破解家长近视防控焦虑
  • 解析 .NET 核心基石:CTS、CLS 与 CLR 的核心价值与协同作用
  • Selinux权限的检测
  • 常见报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): org.example.dem
  • 甲骨文AI投资支出激增致股价创24年最大跌幅
  • TinyMCE4粘贴word超链接自动解析域名
  • TinyMCE6处理微信公众号音频视频嵌入
  • 昇腾 Ascend 自定义算子开发全攻略:从 TBE DSL 到 AICPU,打通 AI 加速最后一公里
  • 当电机开始“唱歌“:NVH工程师的降噪日常
  • AI界的“经济适用男“!80亿参数小模型完胜GPT-5,成本降低70%,CSDN程序员必藏的智能调度方案
  • FPGA教程系列-Vivado Aurora 8B/10B 例程解读
  • 227827827
  • MCU的启动流程你了解么?
  • 逻辑回归(Logistic Regression)进行多分类的实战
  • RNN(循环神经网络)原理
  • 人机协同重构创作生态——生成式AI赋能内容产业的变革与思考
  • Java 小白求职者在互联网大厂的面试实录:从 Spring Boot 到微服务架构
  • V助手舆情分析智能体:重塑舆情分析,从“人找信息”到“信息为人”
  • 连接2026:十款远程控制软件真实力横评与选择指南
  • 计算机毕业设计springboot基于Spark++Vue.js的学生管理系统 Spark+Vue 高校学生综合信息管理平台 基于 SpringBoot+Spark+Vue 的全链路学生事务中心
  • JavaScript 集合操作的哈希碰撞:攻击者如何利用特殊 Key 导致 Map/Set 性能降级到 O(N)
  • 为什么 C盘空间会莫名其妙减少(即使没装新软件)?
  • 17、深入理解 Linux 文件系统机制与结构
  • 29、Linux 软件使用与故障排除指南
  • 从入门到转行:网络安全自学与跳槽的终极建议
  • 网络安全小白自学之路,别拜师了,求人不如求己_网络安全小白怎么自学
  • 从系统运维到网络安全工程师,8个月转行真实经验分享!
  • 算法系列(Algorithm)- 快速排序
  • RobotStudio2025全功能授权