Javascript process.env.PWD与process.cwd()

Javascript process.env.PWD与process.cwd(),javascript,node.js,meteor,fs,Javascript,Node.js,Meteor,Fs,我正在使用Meteor JS…在我的Meteor应用程序中,我正在使用node查询应用程序中不同目录的内容 当我使用process.env.PWD查询文件夹的内容时,我得到的结果与使用process.cwd()查询文件夹的结果不同 var dirServer = process.env.PWD + '/server/'; var dirServerFiles = fs.readdirSync(dirServer); console.log(dirServerFiles); //outputs:

我正在使用Meteor JS…在我的Meteor应用程序中,我正在使用node查询应用程序中不同目录的内容

当我使用
process.env.PWD
查询文件夹的内容时,我得到的结果与使用
process.cwd()
查询文件夹的结果不同

var dirServer = process.env.PWD + '/server/';
var dirServerFiles = fs.readdirSync(dirServer);
console.log(dirServerFiles); 
//outputs: [ 'ephe', 'fixstars.cat', 'sepl_30.se1', 'server.js' ]
vs

使用
process.cwd()
仅显示Meteor中的
server.js

为什么会这样?
process.cwd()
process.env.PWD
有何不同?

它们是相关的,但不是相同的东西

process.env.PWD
是进程启动时的工作目录。这在整个过程中保持不变

process.cwd()
是当前工作目录。它反映了通过
process.chdir()
所做的更改

可以操纵
PWD
,但这样做毫无意义,这个变量没有被任何东西使用,只是为了方便

对于计算路径,您可能希望这样做:

var path = require('path');
path.resolve(__dirname, 'app/server')
其中
\uuu dirname
反映了定义此代码的源文件所在的目录。期望
cwd()
会接近这一点是错误的。如果您的服务器进程是从主源目录以外的任何地方启动的,那么使用
cwd()

时,您的所有路径都将不正确。我还没有阅读您的所有(长)帖子,但问题是什么呢?可能是,您在开发过程中和构建过程之后都在努力调整目录的布局。您可能正在检查在
.meteor/local/build
上构建的内容。否则,请尝试在短时间内精确回答您的问题。
var path = require('path');
path.resolve(__dirname, 'app/server')