我需要从两个文件夹中读取一个语言json文件,但在客户端看起来似乎无法访问。
答案 0 :(得分:1)
您应该熟悉Meteor应用程序结构,您可以在此处找到:
https://guide.meteor.com/structure.html
有几种不同的方法可以做你想要的。按照指南,我在/ imports区域中有这样的代码,在一个提供给客户端和服务器的目录中。 e.g。
/imports/api/foo/foo.json:
{
"foo": "bar",
"baz": "bat"
}
/imports/api/foo/Foo.js:
let fooJson = require('./foo.json');
const FooData = {
foo: fooJson.foo,
baz: fooJson.baz
};
export {FooData};
现在,在客户端或服务器上,您可以导入FooData:
import {FooData} from '/imports/api/foo/Foo';
...并且您的JS代码可以使用FooData。
答案 1 :(得分:0)
在Meteor中,您希望提供给客户端的任何资源文件(jpeg,gif,txt,json等)必须放在名为 public
从客户端,您可以像访问顶层一样访问此数据(例如,不包括/public
)。例如,如果您在data.json
中有文件/public
,则可以通过浏览器/data.json
访问该文件。
从服务器访问此文件夹有点棘手。我在最新的1.4版本中没有尝试过这个,但您曾经能够访问公共文件夹,如this。
path.join(__meteor_bootstrap__.serverDir, "../web.browser/app");
话虽如此,您可能想要退一步思考为什么需要这些数据。如果你实际上并不需要文字文件中的数据,那么我会将json放在服务器上以简化在那里的访问,然后通过流星method将其提供给客户端。