Javascript 在Meteor中发布应用程序设置(非文档)

Javascript 在Meteor中发布应用程序设置(非文档),javascript,meteor,Javascript,Meteor,我有几个设置,我需要在我的应用程序。现在我想在客户机上提供两个。所以我做了: Meteor.startup(function () { Meteor.publish('settings', function () { return { isAuth: false } }); 我有一个像这样的订阅 Meteor.subscribe('settings'); 这根本不起作用,不知怎的,我觉得这只适用于收藏。因此,问题是如何在客户端获得

我有几个设置,我需要在我的应用程序。现在我想在客户机上提供两个。所以我做了:

Meteor.startup(function () {
    Meteor.publish('settings', function () {
        return {
           isAuth: false
        }
});
我有一个像这样的订阅

Meteor.subscribe('settings');

这根本不起作用,不知怎的,我觉得这只适用于收藏。因此,问题是如何在客户端获得这些设置。此外,这些设置是渲染内容所必需的,所以我在初始化期间需要这些数据

将设置保存在共享js文件中 /共享/const.js:

     Global.settings = {
        'Something'
     };
发布/订阅系统仅用于集合


尽管在旁注中isAuth听起来并不像一个设置,而是一个会话变量。//

将设置保存在一个共享的js文件中 /共享/const.js:

     Global.settings = {
        'Something'
     };
发布/订阅系统仅用于集合


尽管从另一方面讲,isAuth听起来并不像是一个设置,而是一个会话变量。//

如果可以将这些配置设置放在代码中,那么就照Marco说的做

如果要在JSON配置文件中指定它们,请使用-配置文件中
public
字段中的任何内容都可以在客户端的
Meteor.settings.public
中找到

使用发布/订阅可以做到这一点,但这可能有些过分:

//在服务器上
publish(“应用程序设置”,函数(){
添加了(“设置”、“任意_字符串”{isAuth:true});
这个;
});
//论客户
设置=新Meteor.Collection(“设置”);//仅在客户端上
Meteor.订阅(“应用程序设置”);
//订阅完成后,
//findOne()返回{u id:“任意字符串”,isAuth:true}

如果可以将这些配置设置放在代码中,那么就照马可说的做

如果要在JSON配置文件中指定它们,请使用-配置文件中
public
字段中的任何内容都可以在客户端的
Meteor.settings.public
中找到

使用发布/订阅可以做到这一点,但这可能有些过分:

//在服务器上
publish(“应用程序设置”,函数(){
添加了(“设置”、“任意_字符串”{isAuth:true});
这个;
});
//论客户
设置=新Meteor.Collection(“设置”);//仅在客户端上
Meteor.订阅(“应用程序设置”);
//订阅完成后,
//findOne()返回{u id:“任意字符串”,isAuth:true}

isAuth
看起来更像会话变量,而不是实际设置。。。您知道,默认情况下,
/server
/client
之外的所有内容都是由双方共享的吗?是的,我知道,但是
isAuth
中存储的值来自
Meteor。设置
isAuth
看起来更像是会话变量,而不是实际设置。。。您知道,默认情况下,
/server
/client
之外的所有内容都是由双方共享的吗?是的,我知道,但是
isAuth
中存储的值来自
Meteor。在我的情况下,设置
isAuth
意味着如果应用程序启动时启用了身份验证:),但是,您的答案似乎不起作用,因为我这样做:
App.isAuth=Meteor.settings.authenticate。我在客户端上看到
App
,但没有
isAuth
。我想这与Meteor.settings只在server@JeanlucaScaljeri然后你应该使用流星设置,并把它放在公共部分。请参阅user3374348的答案
isAuth
在我的例子中,这意味着如果应用程序是在启用身份验证的情况下启动的:)但是,您的答案似乎不起作用,因为我会这样做:
App.isAuth=Meteor.settings.authenticate。我在客户端上看到
App
,但没有
isAuth
。我想这与Meteor.settings只在server@JeanlucaScaljeri然后你应该使用流星设置,并把它放在公共部分。请参阅用户3374348的答案