【发布时间】:2013-08-08 23:54:44
【问题描述】:
我希望它可以跨操作系统移植
var path = require("path"),
fs = require("fs");
fs.readFile(path.join(__dirname, '../..', 'foo.bar'));
此代码可能仅适用于 Mac/Linux/Unix;
编写此代码的通用方式是什么?
【问题讨论】:
标签: javascript node.js path
我希望它可以跨操作系统移植
var path = require("path"),
fs = require("fs");
fs.readFile(path.join(__dirname, '../..', 'foo.bar'));
此代码可能仅适用于 Mac/Linux/Unix;
编写此代码的通用方式是什么?
【问题讨论】:
标签: javascript node.js path
正确和最简单的方法是:
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'));
【讨论】: