跨平台的路径分隔符

时间:2016-07-04 00:43:23

标签: javascript node.js path operating-system temp

来自fs.mkdtemp

上的nodejs documentation

const tmpDir = '/tmp';
const subdir = '/com.domain.app';

!fs.existsSync(tmp + subdir) ? fs.mkdirSync(tmp + subdir) : null;

// This method is *CORRECT*:
const path = require('path');
fs.mkdtemp(tmpDir + path.sep + subdir + path.sep, function(err, folder){
  if (err) throw err;
  console.log(folder);
});

我的问题与path.sep和临时目录有关,我希望代码与平台无关,并且能够在多个平台上运行。

  1. 所有nodejs平台上path.sep的价值是什么。
  2. 所有nodejs平台上tmp目录的价值是什么。
  3. 在Windows上可用/tmp吗?
  4. 关于临时目录/路径的上述代码的任何建议
  5. 由于

1 个答案:

答案 0 :(得分:1)

使用os.tmpDirpath.join函数来实现跨平台代码。

var tmp = require('os').tmpDir();
var dest = path.join(tmp, "com.domain.app");

!fs.existsSync(dest) ? fs.mkdirSync(dest) : null;

参考。 Writing cross platform node