Node.js路径解析系统让我发疯。我有
var a = '../data/data.db'
文件的路径,但此路径的解析方式不同,具体取决于我是直接从node.js运行此代码还是从测试运行器或CI运行此代码。是否需要在node.js中管理相对路径的标准统一方式?
答案 0 :(得分:3)
您应该使用__dirname
属性和path.resolve
。 __dirname
为您提供脚本位置的路径,而不是当前执行位置,path.resolve
清除相对路径。
var path = require('path');
var a = path.resolve(__dirname, '../data/data.db');
答案 1 :(得分:1)
您可以使用__dirname等全局变量指向当前正在执行的脚本所在的目录。