【问题标题】:Adding a variable to __dirname -- Javascript向 __dirname 添加变量——Javascript
【发布时间】:2018-04-24 19:56:41
【问题描述】:

我正在尝试向 __dirname 添加一个变量,因为我想根据它来导航文件夹,但它似乎不起作用。

这难道不是正确的做法吗?

       var directory = '/some_folder/';

       fs.readdir(__dirname + directory, function(err, files){
            // code
       }

更准确地说,我有一个这样的文件夹:

  A_folder
      some_folder
      some_other_folder
      ..

知道 __dirname 是 A_folder 我想根据我的“目录”变量访问其他文件夹。

【问题讨论】:

  • 如果您在 Windows 上,使用正斜杠而不是反斜杠可能会遇到问题。使用path.join 避免在代码中处理路径分隔符。但除此之外,我相信这应该可行。为什么说“它似乎不起作用”?你有错误吗?什么都没有发生?
  • @Sidney,我不在windows上,确实没有任何反应,当我写成__dirname + '/some_folder/'时它工作正常,但是__dirname + directory不起作用

标签: javascript variables syntax


【解决方案1】:

使用path.join() 获取绝对路径。将相对路径作为第二个参数传递。

var path = require('path');
var directory = path.join(__dirname, './some_folder');

fs.readdir(directory, function(err, files){
     // code
}

【讨论】:

  • 由于某种原因,它仍然没有从该特定文件夹中读取。在我的实际程序中,我有类似 var directory = 'path/to/folder' 的东西,然后我在带有 path.join 的函数内更改为 path/to/folder/some_folder/ 但是当我在函数外部调用它时,即使路径是正确的,它也会从“文件夹”中读取: path/to/folder/some_folder/
猜你喜欢
  • 2011-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 2020-09-10
相关资源
最近更新 更多