如何定位父路径node.js操作系统无关的方式

How to locate parent path node.js OS independent manner

本文关键字:操作系统 js 方式 node 路径 何定位 定位      更新时间:2023-09-26

我希望它能在操作系统的中移植

var path = require("path"),
    fs = require("fs");
fs.readFile(path.join(__dirname, '../..', 'foo.bar'));

这段代码可能只适用于Mac/Linux/Unix;

编写此代码的通用方式是什么?

正确且最简单的方法是:

path.join(__dirname, '..', '..', 'foo.bar');

但如果你真的想手动编写分隔符,你可以这样做:

path.join(__dirname, '..' + path.sep + '..', 'foo.bar');

通过请求节点将其依赖于操作系统。但我认为还有更多的区别,比如Volumes(C:''),它是不同的un-nix系统的基础。

例如

var sSlash = (process.platform.match(/^win/))?'''':'/';
var path = require("path"),
fs = require("fs");
fs.readFile(path.join(__dirname, '..'+sSlash+'..', 'foo.bar'));