首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >process.env.PWD诉process.cwd()

process.env.PWD诉process.cwd()
EN

Stack Overflow用户
提问于 2015-07-14 18:45:50
回答 1查看 45K关注 0票数 25

我在我的Meteor应用程序中使用Meteor JS...and,我使用节点来查询应用程序中不同目录的内容.

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

代码语言:javascript
复制
var dirServer = process.env.PWD + '/server/';
var dirServerFiles = fs.readdirSync(dirServer);
console.log(dirServerFiles); 
//outputs: [ 'ephe', 'fixstars.cat', 'sepl_30.se1', 'server.js' ]

vs

代码语言:javascript
复制
var serverFolderFilesDir = process.cwd() +"/app/server";
var serverFolderFiles = fs.readdirSync(serverFolderFilesDir);
console.log(serverFolderFiles); 
//outputs: [ 'server.js' ]

使用process.cwd()只显示流星中的server.js

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

EN

回答 1

Stack Overflow用户

发布于 2015-07-15 16:50:39

他们是亲戚,但不是同一件事。

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

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

操作PWD是可能的,但这样做将毫无意义,任何东西都不使用该变量,它只是为了方便。

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

代码语言:javascript
复制
var path = require('path');
path.resolve(__dirname, 'app/server')

其中__dirname反映了这个代码所定义的源文件所在的目录。预期cwd()将接近这一点是错误的。如果您的服务器进程是从任何地方启动的,但是您的主源目录使用cwd()时,您的所有路径都是不正确的。

票数 52
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31414852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档