【问题标题】:Anyone can help me with the path module from node js?任何人都可以帮助我使用 node js 的路径模块吗?
【发布时间】:2021-07-04 12:14:40
【问题描述】:

我有这个文件夹结构:

/home
    /src
        app.js
    test.js

app.js

const path = require('path');       
                                    
module.exports = {                  
    path1: path.resolve(),          
    path2: () => path.resolve()     
}

test.js

const test = require('./src/app');      
                                    
console.log('#1', test.path1)    
console.log('#2', test.path2())
  • 现在如果我运行这个命令,我会得到这个结果:
drive:\home > node test.js
> #1 drive:\home
> #2 drive:\home
  • 我想知道为什么我没有得到这些结果:
drive:\home > node test.js
> #1 drive:\home\src
> #2 drive:\home

【问题讨论】:

  • path.resolve() 解析为当前工作目录。它与文件的位置无关。 "如果在处理完所有给定的路径段后,还没有生成绝对路径,则使用当前工作目录。" path.resolve([...paths])

标签: javascript node.js path


【解决方案1】:

path.resolve() 解析为当前工作目录。它与文件的位置无关。 “如果在处理完所有给定的路径段后,还没有生成绝对路径,则使用当前工作目录。” path.resolve([...paths])

【讨论】:

  • 嗨!你的意思是 package.json 所在的目录吗?那是我的工作目录吗?
  • @JR_PT 不,current working directory 是启动进程的目录。当您在终端中键入 node test.js 时,它就是当前路径。它与您的项目配置完全无关。
【解决方案2】:

当你注意到这个结果时

drive:\home > node test.js
> #1 drive:\home
> #2 drive:\home\src

app.js

const path = require("path");

module.exports = {
  path1: path.resolve(),
  path2: ()=>path.resolve("app"),
};

基本上你需要文件名 当您使用path.resolve()时,默认情况下会将您当前的目录名称作为参数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 2021-12-13
    • 1970-01-01
    相关资源
    最近更新 更多