我希望它可以跨操作系统移植
var path = require("path"),
fs = require("fs");
fs.readFile(path.join(__dirname, '../..', 'foo.bar'));
此代码可能仅适用于 Mac/Linux/Unix;
编写此代码的通用方式是什么?
我希望它可以跨操作系统移植
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'));