最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

process.env.PWD vs process.cwd()

网站源码admin29浏览0评论

process.env.PWD vs process.cwd()

process.env.PWD vs process.cwd()

我正在使用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

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有何不同?

回答如下:

它们是相关的,但不是同一件事。

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

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

可以操纵PWD,但这样做毫无意义,该变量没有被使用,只是为了方便而已。

对于计算路径,您可能想要这样:

var path = require('path');
path.resolve(__dirname, 'app/server')

__dirname反映了定义此代码的源文件所在的目录。期望cwd()接近该值是错误的。如果您的服务器进程是从主目录以外的任何地方启动的,则使用cwd()的所有路径都将不正确。

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论