- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
使用 both path.join
和 path.resolve
和 __dirname
解析绝对值有区别吗Node.js 中的路径?
这样使用时是否应该首选其中一个(绝对路径分辨率占用例的 90%)?
即
const absolutePath = path.join(__dirname, some, dir);
对比
const absolutePath = path.resolve(__dirname, some, dir);
这两种方法都归一化路径。
最佳答案
是的,功能之间存在差异,但在这种情况下您使用它们的方式将产生相同的结果。
path.join
通过将两条路径合并在一起返回规范化路径。它可以返回绝对路径,但不一定总是这样做。
例如:
path.join('app/libs/oauth', '/../ssl')
解析为 app/libs/ssl
path.resolve
将解析为绝对路径。
例如,当你运行时:
path.resolve('bar', '/foo');
返回的路径将是 /foo
,因为这是可以构造的第一个绝对路径。
但是,如果你运行:
path.resolve('/bar/bae', '/foo', 'test');
返回的路径将再次是/foo/test
,因为这是第一个可以从右到左形成的绝对路径。
如果您不提供指定根目录的路径,则将提供给 resolve
函数的路径附加到当前工作目录。所以如果你的工作目录是 /home/mark/project/
:
path.resolve('test', 'directory', '../back');
解决
/home/mark/project/test/back
使用 __dirname
是包含源文件的目录的绝对路径。当您使用 path.resolve
或 path.join
时,如果您在 __dirname
之后给出相同的路径,它们将返回相同的结果。在这种情况下,这实际上只是一个偏好问题。
关于node.js - path.join vs path.resolve with __dirname,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39110801/
顺便说一下,foo 和 bar 将是字符串文字 我见过很多同时使用 "foo/bar" 和 "foo", "bar" 的存储库 我用 benchmark js 做了一个基准测试使用以下代码(我还制作了
我又被node.js困住了。 我在我的代码中尝试第一个path.join来设置 View 引擎它不工作,索引不会显示,然后我更改为path.join(__dirname, 'views');并且它运行
我正在尝试从我需要复制(递归)的目录中删除 __dirname 。我收集有关该问题的信息: console.log(typeof __dirname); // string console.log(_
我的文件夹结构是这样的: app └─ tsFolder └─ XX.ts XX.ts 文件中的代码: var __dirname: string; console.log("__dirname
我的应用程序结构是: /app /css /js .. /script /server.js 我在使用时尝试使用 __dirname 指向/app 文件夹 a
这个问题在这里已经有了答案: How to go back 1 folder level with __dirname? (11 个答案) 关闭 10 个月前。 目录结构: WebApi Angul
here中的代码如何 工作 - 为什么?对象表示法似乎并不令人满意。我觉得这很令人困惑。这在文档 @Mozilla 或 @NodeJS 中指的是什么? 文件expose.js: module.expo
我想要的路径是 'C:\Users\user\Desktop\interProject\crud-oauth2\models\users.js' 但它总是会变成 有人可以告诉我为什么吗? 最佳答案 如
我想在父类中创建一个方法,该方法将返回扩展它的每个子类的位置。 // Class A dir is '/classes/a/ class A{ getPath(){
我的目录如下所示: /config.json , /server.js , /staticFiles/welcome.html 运行 server.js 报错: app.use(express.sta
我在 Gatsby 主题中使用 Netlify CMS。这是我的项目结构的示例: root/ themes/ gatsby-theme-example/ pages/
我有一个需要访问本地文件的 Next.js API 路由,但是当我在 API 路由中使用它时未定义 __dirname。 是否可以从 Next 路由中获取当前目录? 最佳答案 为了访问根目录或任何与此
我一直在使用 Node 版本 12.3.4将其更新到 14.14.0 并开始收到很多我修复的问题。我唯一不明白的是问题 __dirname is not defined __dirname据我所知,它
我正在使用gulp-karma面对一个简单的问题,但似乎无法找到我做错了什么。 gulp.task('test', function (done) { karma.start({
我的文件结构如下所示: root src test.ts template.xlsx dist // compiled js source ... 在 test.ts
我对 Node.js 很陌生,遇到了“__dirname”,发现它对于获取脚本的绝对目录路径非常方便。但我很好奇它是如何实现的,它是如何能够理解目录结构的。我已经浏览了 Node js 源代码,但无法
我使用的是 pdfkit 包,它本身也使用 fontkit。在开发模式下运行包含的 Express 应用程序时,生成 PDF 文件工作正常,但当应用程序与 webpack 捆绑在一起时,解析某些路径似
我试图在我的 Node 应用程序中获取当前 __dirname 的父级。 这是我当前的代码行: mu.root = __dirname + '/theme'; 但是,我想跳出当前目录并进入另一个同级
在 node.js 中有全局变量 __filename 和 __dirname - 它们是在加载时由编译器扩展的,类似于它在 c++ 预处理器中的完成方式替换 __FILE__(和其他魔术常量)或者这
var express = require('express'); var app = express(); port = process.argv[2] || 8000; app.configure
我是一名优秀的程序员,十分优秀!