You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js中执行node -p __filename返回[eval]是什么含义?

node -p __filename返回[eval]的含义解读

基础背景

  • __filename是Node.js CommonJS模块体系的内置变量,设计上仅返回当前正在执行的实体JS模块文件的绝对路径,本身就不会返回Node.js二进制程序的路径,你的原有预期是错误的。
  • -p(--print)是Node.js的启动参数,作用是把后续传入的字符串当作JS代码直接动态求值并打印结果,整个过程不会读取磁盘上任何实体JS文件执行,你使用的v14.17.4版本对该参数的处理逻辑符合Node.js标准设计。

[eval]的含义

动态传入的JS代码没有对应的磁盘实体模块文件,Node.js会给这类动态执行的上下文(包括eval调用、命令行直接传入代码执行等场景)分配虚拟的文件名标识,[eval]就是这类动态执行上下文的默认文件名标记,你看到的结果属于预期内的正常行为。

如果你需要获取Node.js二进制程序的绝对路径,应该执行命令:
node -p process.execPath


内容的提问来源于stack exchange,提问作者Srikanth Suresh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:54:00