NodeJS:如何获得绝对路径 - 因为'path'不起作用



在我的nodejs应用程序(MeteOrjs)中,我需要使用绝对路径来通过fs.createWriteStream创建文件:

const absolutePath = '/Users/Anybody/Documents/Project/imports/temp'
if (Meteor.isServer) {
  const result = new Promise(function (resolve, reject) {
    const gfs = Grid(
      MongoInternals.defaultRemoteCollectionDriver().mongo.db,
      MongoInternals.NpmModule
    )
    const readerStream = gfs.createReadStream({ _id: id })
    const writerStream = fs.createWriteStream(absolutePath + 'temp.mp4')
    // ...
  })
}

这就是我在MacOS上进行开发的代码的样子。应用程序的生产版本已部署到Ubuntu服务器。因此,绝对路径是不同的。

我尝试使用path

const path = require('path')
const absolutePath = path.resolve('/imports/temp')

,但这仅给我/imports/temp(在MacOS上)

您可以使用process.env.pwd获取项目的基本路径。然后,您可以添加剩余的文件夹段路径。

var base = process.env.PWD;
const absolutePath = base + '/imports/temp';

相关内容

最新更新