[英] What's the difference between path.resolve and path.join?
以下调用之间有什么区别吗?
path.join(__dirname, 'app')
与.
path.resolve(__dirname, 'app')
你应该选择哪一个?
以下调用之间有什么区别吗?
path.join(__dirname, 'app')
与.
path.resolve(__dirname, 'app')
你应该选择哪一个?
这两个函数以非常不同的方式处理从/
开始的段;join
只会将其与上一个参数连接起来,然而resolve
会将其视为根目录,并忽略所有之前的路径——将其视为对每个参数执行cd
的结果:
path.join('/a', '/b') // Outputs '/a/b'
path.resolve('/a', '/b') // Outputs '/b'
另一件需要注意的事情是,path.resolve
将始终生成一个绝对URL,并将使用您的工作目录作为解析此路径的基础.但是__dirname
是一条绝对路径,无论如何,这对你来说并不重要.
至于你应该使用哪一个,答案是:这取决于你希望从/
开始的片段如何表现——它们应该简单地连接起来,还是作为新的根?
如果其他参数是硬编码的,它真的不重要,在这种情况下,你应该考虑(a)这条线将来可能如何变化,以及(b)它与代码中的其他地方有多大的一致性.
fs.writefile 选项参数的可能值,尤其是只读文件的整数
Electron 5.0.0“未捕获的 ReferenceError:未定义要求”
Node Sass 还不支持你当前的环境:Windows 64-bit with Unsupported runtime (88)
在 Node.js 中导入:错误“必须使用导入来加载 ES 模块”
发生未处理的异常:作业(job)名称“..getProjectMetadata”不存在
Node.js 12 的 TypeScript tsconfig 设置?
错误消息:MongoError: bad auth Authentication failed through URI string
UnhandledPromiseRejectionWarning:此错误源于在没有 catch 块的情况下抛出异步函数内部
弃用警告:collection.findAndModify 已弃用.改用 findOneAndUpdate、findOneAndReplace 或 findOneAndDelete?
Mongoose - 为什么我们在设置 mongoose 模块时使用“mongoose.Promise = global.Promise”?