Le risorse sul rendering lato server sono scarse, infatti, non sono riuscito a trovare nulla che spiegasse chiaramente come funzionano effettivamente le cose. Ho visto alcuni repository, ho cercato di seguire il codice, ma non sono riuscito a capirne il senso. Se corro angolare normalmente, io so praticamente cosa succede:Come funziona effettivamente il prerender?
- file HTML viene caricato:
<html><body><my-app>...</my-app><SCRIPTS/></body></html>
- Gli script vengono caricati ... codice
- processi angolari, e sostituisce
<my-app>
con tutte le chicche all'interno.
Per questa app:
@Component({
selector: 'my-app'
template: `<p *ngFor="let i of items">{{ i }}</p>`,
})
export class AppComponent {
items = [1, 2, 3];
}
posso vedere ispezionare html (plunker) e vedere:
<my-app>
<!--template bindings={
"ng-reflect-ng-for-of": "1,2,3"
}-->
<p>1</p>
<p>2</p>
<p>3</p>
</my-app>
Tutto chiaro finora! (:
Ma cosa succede con PreRender Se creo un file in questo modo:?
<html>
<body>
<my-app>
<!--template bindings={
"ng-reflect-ng-for-of": "1,2,3"
}-->
<p>1</p>
<p>2</p>
<p>3</p>
</my-app>
<SCRIPTS/>
</body>
</html>
Cosa farà angolare fare una volta gli script vengono caricati Posso usare questo html al posto del primo Se qualcuno capisce? ? come funziona questo processo, si prega di condividere (; Tutte le informazioni su questa roba sarebbe utile ... Posso Copia outerHTML, e fare che il mio "pagina prerenderizzati" ... in questo modo:
Se no, perché? Sto cercando l'essenza del processo, un esempio che potrebbe essere codificato a mano e il lavoro ...
'Universal' è solo un utensile che fa il lavoro per noi, doesn' t aiutare a capire cosa fa Angular. Come faresti il prerender senza Universal? O senza server per quella materia .... – Sasxa