我正在尝试使用 Meteor 读取 JSON 文件。我在 stackoverflow 上看到了各种答案,但似乎无法让它们发挥作用。我有试过这个 https://stackoverflow.com/questions/22004412/how-to-use-user-json-file-in-meteor这基本上是说:
- 创建一个名为 private/test.json 的文件,其中包含以下内容:
[{"id":1,"text":"foo"},{"id":2,"text":"bar"}]
- 服务器启动时读取文件内容(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
- 如果已尝试此处描述的所有选项:在 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
客户端不应访问该目录(因此得名)。
如果您想将此信息传递给客户,您有两种选择:
- Use
Assets.getText
与您所做的完全一样,但在服务器上的方法内,并从客户端调用此方法以返回结果。对我来说,这似乎是最好的选择,因为您通过该方法分配对数据的访问,而不是将其完全公开。
- 将其放入
public
文件夹并使用类似的东西jQuery.getJSON() http://api.jquery.com/jquery.getjson/阅读它。这不是我曾经做过的事情,所以我无法提供任何进一步的建议,但它看起来非常简单。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)