【问题标题】:File paths when using fs使用 fs 时的文件路径
【发布时间】:2013-02-08 21:26:43
【问题描述】:

所以我知道fs 模块使用process.cwd() 而不是模块的实际位置,但我仍然对文件路径有一点问题。

所以我有一个这样的应用结构:

- app
   - controllers
   - models
   - views
   - tmp
   - index.js

我正在控制器中创建 csv 文件,并希望将其存储在 tmp

所以考虑到尽管在控制器中,

process.cwd() is '/app'

我这样做了:

fs.open('tmp/FILENAME','w',function (err,fd) {

err 为空,因此似乎工作正常。所以应该在 /app/tmp/

另一方面,在 index.js 我有

res.attachment(__dirname + '/tmp/FILENAME')

console.logged 时是

/app/tmp/FILENAME

这是正确的。很明显,是另一半造成了问题。

所以我的问题是 - 考虑到 process.cwd() 在这种情况下使用 fs 的正确方法是什么? 有点难过,有什么想法吗?

【问题讨论】:

  • 很难说出你在问什么,你能改写一下你的问题吗?

标签: javascript node.js filepath fs


【解决方案1】:

依赖process.cwd() 是有风险的,你稍后介绍的其他一些代码可能会改变它。

使用__dirname + '/tmp/FILENAME' 更安全。

【讨论】:

  • 那么,我如何利用__dirname 来获得一个实际上是我所在目录的同级目录?
  • __dirname + "../" + 兄弟名称
猜你喜欢
  • 1970-01-01
  • 2015-06-07
  • 2020-06-29
  • 1970-01-01
  • 1970-01-01
  • 2017-02-28
  • 2015-10-29
  • 1970-01-01
  • 2016-04-23
相关资源
最近更新 更多