我们有将React作为前端框架的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 .
我正在尝试在React js加载之前设置上述FeatureFlag ...我尝试添加DOMContentLoaded
,但仍然将变量 defined 设置为 undefined ..
我反应文件我们需要/设置多个不同的值,并且所有这些值都取决于此变量,以避免多次服务器调用...
如何实现?
答案 0 :(得分:1)
Jared的答案会起作用,但是会为客户端添加另一个请求,该请求不会经过预处理,需要包含在所有布局中。我会:
为脚本创建一个新文件...将其命名为react_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已包含在
中答案 1 :(得分:0)
将其放在文档<head>
的顶部
<head>
<script>
window.featureFlags = {featureA: true, featureB:false};
</script>
<!-- now load everything else -->
</head>
通常,<head>
位于app/views/layouts/application
中。
您可能还会发现content_for
有用。