Javascript process.env.PWD与process.cwd()
我正在使用Meteor JS…在我的Meteor应用程序中,我正在使用node查询应用程序中不同目录的内容 当我使用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:
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')