在meteorjs中定位文件的路径

locating path of a file in meteorjs

本文关键字:路径 文件 定位 meteorjs      更新时间:2023-09-26

我在meteorjs中有一个使用节点文件系统读取文件的项目,但是我无法找到要读取的文件。

我的文件位置

Server
    - startup
         - app.load.coffee
         - myfileToBeRead.txt

My try in app.load.coffee

fs = Npm.require('fs')
console.log fs.readFileSync 'server/startup/myfileToBeRead.txt'

我无法读取文件,因为它显示

Error: ENOENT, no such file or directory 'server/startup/myfileToBeRead.txt'

我想既然流星合并了js文件中的所有内容,我必须添加文件的完整路径。我也尝试过其他路径(有完整路径,没有完整路径)。你能给我指出正确的方向吗?谢谢你

有了David的回答,我也发现我可以在项目的assets/app目录中做到这一点。我所要做的就是将文件添加到名为private的目录中。这也可以帮助我写入目录内的文件。

fs = Npm.require('fs')
console.log fs.readFileSync "assets/app/myfileToBeREad", 'utf8'

是否需要在

这是一种简单的情况-只需将文件放在private目录中,并使用assets api访问它。更多的例子,请看我关于这个主题的博客文章。

如果文件应该存在于服务器的其他地方

使用与项目无关的目录的绝对路径,例如/tmp/home/foo/bar。流星项目中的目录在你捆绑和部署应用程序后会变得混乱,所以它们的存在是不可靠的。使用上面的例子,如果你这样做,它应该可以工作:

var fs = Npm.require('fs');
fs.readFileSync('/tmp/myfileToBeRead.txt');