我正在尝试读取/ public文件夹中的.json文件。我正在使用的相对路径是'../../../../../public/data.json',当我使用meteor run
运行时它会起作用。
但是,当我通过运行meteor deploy MyApp.meteor.com
部署到meteor子域时,它会崩溃并且日志会显示
错误:ENOENT,没有这样的文件或目录'../../../../../ public / data.json'
我尝试使用'data.json','public / data.json'等,但我无法使用它。我在这里缺少什么?
答案 0 :(得分:2)
将数据放在应用程序根目录下的“私有”目录中,而不是“公共”(假设您只是要在服务器上读取它,这就是您似乎正在做的事情)。当您需要该文件时(无论您是否部署),它位于路径“assets / app /".
例如,如果您的应用具有目录结构:
myApp.css
myApp.js
myApp.html
server/
serverCode.js
private/
data.json
您可以使用类似“peerlibrary:fs”的内容,它会公开光纤感知fs同步功能,并在“serverCode.js”中执行以下操作
var data = JSON.parse(fs.readFileSync("assets/app/data.json"));
答案 1 :(得分:0)
如果将文件data.json放在公用文件夹的根目录中,则只需使用路径" /data.json"