【发布时间】:2015-11-20 10:57:15
【问题描述】:
Node.js 路径解析系统让我抓狂。我有
var a = '../data/data.db' 文件的路径,但此路径的解析方式不同,具体取决于我是直接从 node.js 运行此代码,还是从测试运行程序或 CI 运行此代码。 node.js中需要如何管理相对路径是否有一个标准的统一方式?
【问题讨论】:
标签: javascript node.js relative-path
Node.js 路径解析系统让我抓狂。我有
var a = '../data/data.db' 文件的路径,但此路径的解析方式不同,具体取决于我是直接从 node.js 运行此代码,还是从测试运行程序或 CI 运行此代码。 node.js中需要如何管理相对路径是否有一个标准的统一方式?
【问题讨论】:
标签: javascript node.js relative-path
您应该使用__dirname 属性和path.resolve。 __dirname 为您提供脚本位置的路径,而不是当前执行位置,path.resolve 清理相对路径。
var path = require('path');
var a = path.resolve(__dirname, '../data/data.db');
【讨论】:
您可以使用全局变量,例如 __dirname,它指向当前正在执行的脚本所在的目录。
【讨论】: