3 votes

Ajouter les données du serveur à index.html

J'ai une application simple construite avec Créer une application React . J'aimerais injecter des données du serveur dans un modèle Jinja. Il est évident que le serveur webpack local ne peut pas analyser jinja.

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

Je n'ai pas l'accès à process.env.NODE_ENV !== "production" dans index.html. Y a-t-il un autre drapeau que je pourrais utiliser ?

Sinon, je pourrais utiliser essayer et attraper

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

Mais c'est une erreur de syntaxe.

1voto

lukas Points 7789

Il semble que la meilleure chose à faire soit d'attraper l'erreur

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

et ensuite

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X