我正在尝试从模块内部访问文件。我在模块中给出了文件位置,如下所示。我的模块文件夹叫做helper。
__ dirname +" /../ public / lib / objects"
500错误:ENOENT,没有这样的文件或目录' / home / sushmitsarmah / projects / app / helpers / public / lib / objects'
它给我一个错误,其中location是helper / public / lib / objects。我接下来尝试了这个:
__ dirname +" /../../ public / lib / objects"。这也给了我一个错误。
我应该如何访问公用文件夹?在目录结构中,helper和public处于同一级别。
文件夹结构:
app
--helpers
--getData.js
--public
--lib
--objects
--views
--app.js
在app.js中我打电话给: var getdata = require(' ./ helpers / getdata')。getData;
从getData.js里面我想访问objects文件夹。
由于
答案 0 :(得分:2)
请注意,__dirname
指向当前正在执行的脚本所在的目录。因此,在我们的示例中,它是脚本所在的目录。因此,当前工作目录将始终指向app.js的文件夹,其中__dirname
将根据正在执行的文件进行更改。
所以你的路径应该是
__dirname + "/public/lib/objects" //from app.js
请注意:
在上面更新的文件夹结构中,当您在getData.js
时,__dirname
的值将是" / rootpath / app / helpers"。要从那里访问objects
文件夹,您必须执行
__dirname + "/../public/lib/objects" //from getData.js