Хранение переменной JS перед реакцией загрузки JS - PullRequest
0 голосов
/ 21 декабря 2018

У нас есть приложение Rails с реакцией в качестве интерфейсной среды. Мне нужно сохранить некоторое хеш-значение в переменной javascript, например,

windows.FeatureFlag = {featureA: true, featureB:false}

до загрузки всех файлов ... мы загружаем файл jsв следующем порядке

//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require react-server
//= require react_ujs
//= require_tree .

Я пытаюсь установить вышеупомянутый FeatureFlag до того, как будут загружены реагирующие js ... Я попытался добавить DOMContentLoaded, но все же переменная определена как undefined ..

Я реагирую на файл, который нам требуется / задает несколько различных значений, и все зависят от этой переменной, чтобы избежать нескольких обращений к серверу ...

как этого добиться?

Ответы [ 2 ]

0 голосов
/ 22 декабря 2018

Ответ Джареда будет работать, но он добавляет еще один запрос для клиента, не обрабатывается предварительно, его необходимо включить во все макеты.Я бы:

Создать новый файл для скрипта ... назовите его реагировать_config.js

windows.FeatureFlag = {featureA: true, featureB:false}

тогда:

//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require react_config.js
//= require react-server
//= require react_ujs
//= require_tree .

application.js уже включенв

0 голосов
/ 21 декабря 2018

Поместите его в верхнюю часть документа <head>

<head>
  <script>
    window.featureFlags = {featureA: true, featureB:false};
  </script>
  <!-- now load everything else -->
</head>

Обычно <head> находится в app/views/layouts/application.

Вы также можете найти content_for полезным.

...