将服务器数据添加到index.html

时间:2017-05-24 13:41:40

标签: javascript html reactjs jinja2 create-react-app

我使用Create React App进行了简单的应用构建。我想在jinja模板中注入一些服务器数据。显然本地webpack服务器无法解析jinja

<script type="text/javascript">
    window.SERVER_DATA = {
      "company": {{ company|dumps|escapejson }}
    };
</script>

我无法访问index.html中的process.env.NODE_ENV !== "production"我还可以使用其他任何旗帜吗?

或者,我可以使用try and catch

   try {
     window.SERVER_DATA = __SERVER_DATA__;
    } catch(e) {
      console.info('Development MODE', e)
      window.SERVER_DATA = {};
    }

但那是语法错误。

1 个答案:

答案 0 :(得分:1)

似乎最好的办法是捕捉错误

try {
  window.pagedata = __SERVER_DATA__;
} catch(e) {
  console.info('Dev mode');
}

然后

settings_page = render_template('index.html')
return settings_page.replace(
    '__SERVER_DATA__', escapejson(dumps(server_data))
)