У меня есть компонент React, который выполняет вызов API на init на стороне клиента .Я не хочу жестко кодировать мой ключ API (не дай бог в репо), и не намного лучше поместить его в Meteor.settings.public, поскольку его можно просто найти в консоли.Я хочу сохранить его в Meteor.settings, но тогда он будет невидим для клиента.Я пытался использовать метод, но, хотя он работает на сервере, вызов метода возвращает неопределенный на клиенте.
На сервере:
Meteor.methods({
getFileStackAPIKey: function () {
if (Meteor.settings.fileStackAPIKey) {
console.log(Meteor.settings.fileStackAPIKey) // returns: [fileStackAPIKey] correctly
return Meteor.settings.fileStackAPIKey
}
else {
return {message: "Configure Meteor.settings.fileStackAPIKey to connect to FileStack."}
}
}});
На клиенте:
console.log(Meteor.call('getFileStackAPIKey')); // returns: undefined
Я попытался использовать ReactiveVar, и он снова установил его на сервере, но был недоступен на сервере.клиент.У меня такое чувство, что мне не хватает чего-то очевидного.В частности, я пытаюсь заставить работать файл FileStack.Их пример кода показывает встроенный встроенный ключ API.Как и официальный пакет FileStack React.Это просто не кажется хорошей идеей.