node 项目中 __dirname / __filename 是什么,为什么有时候不能用?

__dirname 是 Node.js 中的一个特殊变量,表示当前执行脚本所在的目录的绝对路径。

__filename 同理,是 Node.js 中的一个特殊变量,表示当前执行脚本的绝对路径,包括文件名。

在 Node.js 中,__dirname / __filename是一个全局变量,可在任何地方使用,用于获取当前模块文件所在的目录路径。它不是由用户定义的,而是由 Node.js 运行时提供的。使用 __dirname/__filename 可以方便地构建文件的绝对路径 / 获取带有绝对路径的文件名,而不受当前工作目录的影响。

为什么有时候不能用 __dirname / __filename?

因为 __dirname 是一个全局变量,而不是一个模块的属性。因此,在 CommonJS 模块中,你可以直接使用 __dirname,但在 ES6 模块中,__dirname__filename 不再被支持,你需要使用 import.meta.url 来获取当前模块的 URL 信息。

如果你的项目中 package.json 中有 "type": "module", 这个字段那么你就不能直接使用 __dirname / __filename 了。

去掉 package.json 里面的"type": "module",就可以正常用了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/583442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

条件覆盖和条件组合覆盖测试设计-实验八例题

目录 条件覆盖 判定-条件覆盖 条件组合覆盖 实验内容: 以银行内部转账为实例,针对内部转账业务逻辑代码进行分析,运用条件覆盖和条件组合覆盖进行测试用例设计。 实验过程: 条件覆盖 条件覆盖(Condition Cover…

创建您的第一个记忆卡片游戏

大家好!今天,我们将一起探索如何用HTML、CSS和JavaScript创建一个有趣的记忆卡片游戏。我们的游戏规则很简单:用户需要找到一对一样的卡片。如果你是编程新手,不用担心,我会逐步引导你完成这个项目。 正文&#xff1a…

lottie 动画在 vue 中的使用

前言 最近我所负责的项目中采用了动画效果,最早使用 gif 来实现。然而,在实践过程中,我发现 gif 格式的动画在 git 中出现了明显的锯齿感,这让我非常困扰。为了追求更完美的表现效果,我最终选择了 lottie 来实现我的动…

苹果手机微信内存不足怎么清理?分享简单的解决方法!

我们平时经常使用手机来进行各种各样的活动,尤其是微信,它已经成为了我们生活中不可或缺的一部分。然而,随着时间的推移,微信占用的手机内存会越来越大,从而导致手机出现卡顿、闪退等问题。 当出现微信存储空间不足的…

【python】Win11上安装spyder

一、安装miniconda 见Miniconda官网 推荐用安装包安装。 如果想用命令行安装到D盘,需要打开命令提示符终端,输入: curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe -o miniconda.exe start /wait "&…

Oracle 12c rac 搭建 dg

环境 rac 环境 (主)byoradbrac 系统版本:Red Hat Enterprise Linux Server release 6.5 软件版本:Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit byoradb1:172.17.38.44 byoradb2:…

mysql查询出json格式字段中的值

一、使用场景 由于一些特殊数据使用json格式保存到表数据种中了,在查询的时候需要查询出这条数据中json格式中的某个字段 比如:需要将下列字符串中的“nationality”字段单独查询出来 json格式是一个对象 结果: json格式是一个集合 查询结…

特征归一化及其原理--机器学习

归一化是数据预处理中的一种常见操作,其目的是将不同特征的数值范围统一或缩放到相似的尺度。这有助于提高模型的性能,加速模型的收敛,并使模型更加稳健。以下是进行归一化的一些原因和原理: 消除特征间的尺度差异: 不…

Unity Shader 实现X光效果

Unity Shader 实现X光效果 Unity Shader 实现实物遮挡外轮廓发光效果第五人格黎明杀机火炬之光 实现方案操作实现立体感优化总结源码 Unity Shader 实现实物遮挡外轮廓发光效果 之前看过《火炬之光》、《黎明杀机》、《第五人格》等不少的游戏里面人物被建筑物遮挡呈现出不同的…

C语言——指针题目“指针探测器“

如果你觉得你指针学的自我感觉良好&#xff0c;甚至已经到达了炉火纯青的地步&#xff0c;不妨来试试这道题目&#xff1f; #include<stdio.h> int main() {char* c[] { "ENTER","NEW","POINT","FIRST" };char** cp[] { c 3…

参数归一化-实现时间格式化

文章目录 需求分析具体实现完整源码 不知道大家有没有尝试封装过一个时间格式化的函数啊&#xff0c;在之前我封装的时候&#xff0c;开始是觉得手到擒来&#xff0c;但是实践之后发现写非常的shi啊&#xff0c;大量的分支判断&#xff0c;哪怕是映射起到的作用也只是稍微好一点…

PC9095高性能可调限流OVP过压过流保护 软启动 抗浪涌 集成功率FET开关

特点 •输入电压范围&#xff1a; •PC9095A、PC9095KA:2.5伏~13.5伏 •PC9095B&#xff0c;PC9095KB:2.5伏~10伏 •PC9095C&#xff0c;PC9095KC:2.5伏~5.5伏 •28V绝对最大额定电压VOUT •带外部电阻器的可调限流器 •集成功率FET开关&#xff0c;53mΩRds&#xff08…

棒打疯猫^^

欢迎来到程序小院 棒打疯猫 玩法&#xff1a;点击鼠标左键举起棒子打猫&#xff0c;等猫落下之后打&#xff0c;打飞猫遇到炸弹会弹飞更远距离&#xff0c; 遇到大便会停止前进游戏结束&#xff0c;看你能够打飞多远距离&#xff0c;快去打猫吧^^。开始游戏https://www.ormcc.…

阿里云数据库polardb怎么收费?

阿里云数据库PolarDB租用价格表&#xff0c;云数据库PolarDB MySQL版2核4GB&#xff08;通用&#xff09;、2个节点、60 GB存储空间55元5天&#xff0c;云数据库 PolarDB 分布式版标准版2核16G&#xff08;通用&#xff09;57.6元3天&#xff0c;阿里云百科aliyunbaike.com分享…

文件下载输出zip文件

文件下载输出成zip文件&#xff1a; 1、前端整个按钮&#xff0c;调js方法&#xff1a;&#xff08;参数&#xff1a;param,需要下载的id&#xff0c;用逗号拼接&#xff09; var param "?dto.id";//需要自己拼接param window.location.href "<%basePat…

城市分站优化系统源码:提升百度关键排名 附带完整的搭建教程

城市分站优化已成为企业网络营销的重要手段&#xff0c;今天来给大家分享一款城市分站优化系统源码。 以下是部分代码示例&#xff1a; 系统特色功能一览&#xff1a; 1.多城市分站管理&#xff1a;该系统支持多个城市分站的管理&#xff0c;用户可以根据业务需求&#xff0c;…

官网万词霸屏推广源码系统:轻松实现百度上万关键词排名在线

互联网的快速发展&#xff0c;网络营销已经成为企业推广的重要手段。在这个竞争激烈的市场中&#xff0c;如何让自己的网站在搜索引擎中获得更好的排名&#xff0c;成为众多企业关注的焦点。而万词霸屏推广源码系统正是在这样的背景下应运而生&#xff0c;为企业提供了一种全新…

【深入浅出Java性能调优】「底层技术原理体系」深入探索Java服务器性能监控Metrics框架的实现原理分析(Gauge和Histogram篇)

承接上文 承接上文中的【深度挖掘Java性能调优】「底层技术原理体系」深入探索Java服务器性能监控Metrics框架的实现原理分析&#xff08;Counter篇)&#xff0c;我们知道和了解了对应的Counter计数器的作用和实现原理&#xff0c;接下来我们需要进行分析和了解计量器&#xf…

面试题:MySQL 自增主键一定是连续的吗?

文章目录 测试环境&#xff1a;一、自增值的属性特征&#xff1a;1. 自增主键值是存储在哪的&#xff1f;2. 自增主键值的修改机制&#xff1f; 二、新增语句自增主键是如何变化的&#xff1a;三、自增主键值不连续情况&#xff1a;&#xff08;唯一主键冲突&#xff09;四、自…

uniapp:全局消息是推送,实现app在线更新,WebSocket,apk上传

全局消息是推送&#xff0c;实现app在线更新&#xff0c;WebSocket 1.在main.js中定义全局的WebSocket2.java后端建立和发送WebSocket3.通知所有用户更新 背景&#xff1a; 开发人员开发后app后打包成.apk文件&#xff0c;上传后通知厂区在线用户更新app。 那么没在线的怎么办&…