javascript - Kuinka voin siirtää JS-objekteja palvelinpuolelta asiakaspuolelle NodeJS:ssä


PHP:ssä käytin aiemmin objektien välittämiseen backendistä frontendiin JSON-muodossa script-tageilla.

<script>

var serversideStuff = '<?php echo json_encode($serversideArray); ?>';

</script>

Kuinka voin siirtää JS-olioita palvelinpuolelta asiakaspuolelle käyttäen NodeJS:ää, Expressiä ja Jadea. Luultavasti on olemassa todella hyvä tapa, josta en vain ole tietoinen.

Toivottavasti voit auttaa minua.

Vastaus #1

PHP:ssä käytät huonoja käytäntöjä (dynaamisesti generoiden JavaScriptiä osana sovellusta).

Node:n kanssa teet sen oikein. Tämä tarkoittaa sitä, että sinä

  • Kirjoita tiedot joko HTML:ään (Miten verkkosivustosi toimisi ilman JavaScriptiä, käytätkö progressiivista parannusta, eikö niin?)
  • Tarjoa ne tiedot verkkopalveluna, johon kommunikoit Ajaxin tai WebSocketien kautta

Vastaus #2

<script type="text/javascript">
  var clientVar = {{JSON.stringify(serverVar)}}
</script>

vaihda {{}} siihen, mitä mallipohjamoottorisi käyttää koodin tulkitsemiseen