In dieser Phase werden die Front-End- und Back-End-Arbeiten zusammengeführt. Das Front-End schreibt die Demo und übergibt sie an das Back-End, um die Daten zu rendern. Sobald ein Fehler auftritt, ist das Debuggen zeitaufwändig und mühsam. Daher ist es dringend erforderlich, das Front-End und das Back-End zu trennen. Nach langer Online-Suche handelt es sich im Allgemeinen um den SPA-Modus und den Knotenmodus
Der SPA-Modus verwendet domänenübergreifende Anforderungen, um Datenerfassungsprobleme zu lösen. Aber es ist nicht förderlich für die SEO-Optimierung.Also habe ich mir das Trennungsmodell basierend auf NODE angesehen:
Ich weiß nicht, ob dieses Modell korrekt ist. Wenn Sie andere gute Lösungen haben, teilen Sie mir dies bitte in den Kommentaren mit.
Antwortinhalt:
Der SPA-Modus verwendet domänenübergreifende Anforderungen, um Datenerfassungsprobleme zu lösen. Aber es ist nicht förderlich für die SEO-Optimierung.
Also habe ich mir das Trennungsmodell basierend auf NODE angesehen:
Ich weiß nicht, ob dieses Modell korrekt ist. Wenn Sie andere gute Lösungen haben, teilen Sie mir dies bitte in den Kommentaren mit.
Es gibt ungefähr drei Typen:1. Das Front-End verwaltet die Seitenvorlage und ist für die Entwicklung verantwortlich, die beim Veröffentlichen an das Back-End übertragen wird, und das Back-End wird bereitgestellt und betrieben. Beispielsweise gibt es in VM VelocityJS, das die Kompilierung, das Ausfüllen und die Anzeige auf der Knotenseite abschließen kann, und das Front-End kann die Seitenentwicklung lokal abschließen. Der Kopplungsteil mit dem Backend besteht darin, Daten für die Seite zu rendern. Das Datenformat muss im Voraus festgelegt werden.
2.spa ist nicht unbedingt domänenübergreifend Backend, eine einheitliche Shell, und das Backend kümmert sich nur um die Verwaltung der von verschiedenen Seiten referenzierten JS. Natürlich werden die Daten auf der Clientseite asynchron vervollständigt. Was SEO betrifft, können Sie PhantomJS verwenden, um die Seite zu erfassen und zu speichern, und dann NG für den Umgang mit Crawlern konfigurieren. Tatsächlich besteht das größte Problem bei dieser Lösung darin, dass die Seite nach dem Eingang nicht angezeigt wird, was bedeutet, dass die Zeit auf dem weißen Bildschirm relativ lang ist. Stattdessen muss js ausgeführt werden und die Daten werden asynchron angezeigt ziemlich häufig. Natürlich können Sie Offline-Pakete oder Cache verwenden, um dieses Erlebnis in Apps und anderen Links zu optimieren, was relativ häufig vorkommt.
3.node, ich denke, an Ihrem Bild ist nichts auszusetzen, aber es gibt verschiedene Implementierungen von PHP Teil, Java, Knoten usw. Bei JSON handelt es sich lediglich um eine Reduzierung der Front-End- und Back-End-Kopplung. Es kann im Voraus festgelegt, nicht geändert und parallel entwickelt werden. Die Einführung von Knoten bedeutet nichts anderes, als dem Frontend zu ermöglichen, Seiten direkt für den Zugriff bereitzustellen. Wenn das Front-End jedoch jedes Mal ein Knotenseiten-Rendering schreibt, verursacht dies auch relativ hohe Entwicklungskosten. Dann gibt es noch die Idee des Isomorphismus, z. B. stellt der Isomorphismus von ReactJS nur einen Router bereit, während andere Seitenverarbeitungsserver und -clients vollständig konsistent sind.
Meine bescheidene Meinung, ich hoffe, es hilft
Wir sind grundsätzlich für die Bereitstellung von JSON- oder JSONP-Daten im Backend verantwortlich. Nachdem das Frontend die Daten erhalten hat, werden keine Probleme festgestellt. Ich weiß nicht, was der Fragesteller gesagt hat: Sobald ein Fehler auftritt, ist das Debuggen zeitaufwändig und mühsam, und ich verstehe nicht ganz, was das große Problem ist
Alle Daten werden vom Backend verarbeitet und das Frontend ist für die Seitenimplementierung verantwortlich. Daten können vom Backend-Server über Ajax abgerufen werden.