Meteor:读取简单的 JSON 文件

2024-03-25

我正在尝试使用 Meteor 读取 JSON 文件。我在 stackoverflow 上看到了各种答案,但似乎无法让它们发挥作用。我有试过这个 https://stackoverflow.com/questions/22004412/how-to-use-user-json-file-in-meteor这基本上是说:

  1. 创建一个名为 private/test.json 的文件,其中包含以下内容:
[{"id":1,"text":"foo"},{"id":2,"text":"bar"}]
  1. 服务器启动时读取文件内容(server/start.js):
Meteor.startup(function() {
 console.log(JSON.parse(Assets.getText('test.json')));
});

然而,这个看似非常简单的示例并未将任何内容记录到控制台。如果我尝试将其存储在变量中而不是在控制台上。记录它然后在客户端显示它我得到

Uncaught ReferenceError: myjson is not defined 

其中 myjson 是我存储它的变量。我尝试读取 JSON 客户端

    Template.hello.events({
    'click input': function () {
        myjson = JSON.parse(Assets.getText("myfile.json"));
        console.log("myjson")
  });
}

结果是:

Uncaught ReferenceError: Assets is not defined 
  1. 如果已尝试此处描述的所有选项:在 Meteor 中导入 JSON 文件 https://stackoverflow.com/questions/15374066/importing-a-json-file-in-meteor或多或少有相同的结果。

希望有人能帮助我


As per the docs http://docs.meteor.com/#assets_getText, Assets.getText仅在服务器上可用,因为它旨在读取private客户端不应访问该目录(因此得名)。

如果您想将此信息传递给客户,您有两种选择:

  1. Use Assets.getText与您所做的完全一样,但在服务器上的方法内,并从客户端调用此方法以返回结果。对我来说,这似乎是最好的选择,因为您通过该方法分配对数据的访问,而不是将其完全公开。
  2. 将其放入public文件夹并使用类似的东西jQuery.getJSON() http://api.jquery.com/jquery.getjson/阅读它。这不是我曾经做过的事情,所以我无法提供任何进一步的建议,但它看起来非常简单。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Meteor:读取简单的 JSON 文件 的相关文章

随机推荐