javascript - 如何在nodejs中创建文件路径 'OS agnostic'?

标签 javascript node.js path filesystems filenames

我现在正在编写一些代码,这些代码在我们的集成测试中出现问题,因为我们在 Windows 计算机的 EC2 实例上运行测试作业。修复文件名太长问题后,许多路径仍然无法正确解析,因为其中许多路径是针对 UNIX 进行硬编码的。

我正在研究nodejs的路径模块,但我不确定需要更改什么才能使路径名在两个操作系统上都工作(当然除了反斜杠)。对于 Windows,我需要为这些路径名添加前缀吗?

以下是一些失败的代码:

function getDirectories(srcpath) {
//srcPath looks like graph-validator/tests/data/graph-examples/
  return fs.readdirSync(srcpath).filter(function(file) {
    return (
      file !== '.git' && fs.statSync(path.join(srcpath, file)).isDirectory()
    )
  })
}

const dataDirectory = 'graph-validator/tests/data/'

// Generate valid input for included minimal tests
function createDatasetFileList(path) {

  const testDatasetPath = `${dataDirectory}${path}`
 //path is often 'graph-examples/ds001/' 
  if (!isNode) {

    return createFileList(testDatasetPath)
  } else {
    return testDatasetPath
    // testDatasetPath = graph-validator/tests/data/graph-examples/ds001/

  }
}

我尝试了path.join(),这似乎部分解决了这个问题,至少是斜杠。如何使这些路径名在操作系统中完全不可知?

最佳答案

我认为您正在寻找的是 path.sephttps://nodejs.org/api/path.html#path_path_sep

关于javascript - 如何在nodejs中创建文件路径 'OS agnostic'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59379150/

相关文章:

javascript - 如何使用不同的颜色来达到效果

javascript - Shutterstock:上传图片的API

iphone - 如何获取iphone图库中图像的路径

javascript - 等待循环完成后再执行下一个操作

java - 在 Ant 中排除 jar flom 类路径

python - 如何使用 Appium(最好是 python)拍摄 native iOS 屏幕截图并自动在设备/模拟器相册中查看它们?

javascript - 是否可以在函数作用域而不是全局作用域下运行通过函数构造函数创建的函数

javascript - 如何访问 es6 类构造函数中单击事件的方法?

javascript - 如何在纯 JavaScript 中向元素添加和删除事件类

javascript - 我收到 WARN : IntentDialog - no intent handler found for null when I fill out a form Node. js Bot 框架