2016-10-21 8 views
4

Ich benutze Vue.js in einer Website und fügte die Vorlagen im HTML-Code und den js-Code in einer einzigen js-Datei hinzu. Also ich möchte nicht den * .vue < -> Vuefy/Browserfy-Ansatz verwenden, sondern meine js-Dateien später bündeln und verkleinern.vuejs Vorlagen als ASP.net Partialviews, gute Praxis?

Da ich Asp.Net MVC verwenden muss, kann ich die einzelne Html-Datei in einer Ansicht aufteilen und die vue-div-Elemente hierarchisch strukturiert mit @ Render.Partial (...) einfügen. Auf diese Weise konnte ich eine saubere Trennung vornehmen und das gleiche System wie die * .vue-Dateien verwenden.

Wäre das eine gute Praxis?

Denkst du, es wäre besser, den HTML-Code und den neuen Vue ({}) in jeden Teil von .cshtml zu schreiben oder einfach den HTML-Code dort zu schreiben und das Javascript in (a) js-Datei (en) zu setzen.

Der JS-Code in Script-Tags konnte nicht gebündelt werden und ich mag nicht so viel Inline-Code, aber es wäre eine schöne Kopplung der Komponenten Code.

Durch die Verwendung mehrerer js-Dateien konnte ich dann im Views-Ordner neben ihren Teilpartnern speichern und sie zusammen mit dem VS Extension Bundler und Minifier bündeln.

Sind diese Gedanken nützlich oder gibt es noch einen guten Ansatz für die Verwendung von Vuejs Vorlagen in asp.net?

EDIT: Ich habe einige der Teilansichten mit einem bestimmten Preifx geschrieben. Die Include-Inline-Skript-Tags, die kommt der. Vue-Ansatz sehr nahe und ist cool in kleinen Komponenten, weil alles in einer Seite. Das Inline-Skript ist mit Razor konditioniert, also wird es nur im Dev-Build inline gerendert, für die Produktion wird es getrennt gesendet. Dazu habe ich ein Powershell-Skript geschrieben und es als Pre-Build-Event ausgeführt, um den gesamten Inline-Code in eine js-Datei zu zerlegen. Diese Datei wird mit den anderen js-Dateien gebündelt und wird für die Produktion minimiert geliefert. So kann ich alle Razor-Funktionen in den HTML/Templates verwenden und andere Seiten des Projekts sind nur * .cshtml Ansichten. Für nur eine SPA-Seiten klingt der von iknowitwasyoufredo erwähnte Ansatz besser.

+0

Wenn die kombinierte Dokumentgröße ist klein, gehen Sie für eingebettete Skripte, seine noch Bündelung, Bündelung mit HTML :), der Grund, warum Sie so genannte Bündelung ist die Anzahl der Anfragen zu minimieren, wenn Sie in das Dokument selbst eingebettet sind immer noch eine weitere Skriptdatei-Anfrage loswerden. –

Antwort

1

Wenn Sie vue.js verwenden, um ein paar einfache js-Aufgaben zu erledigen, statt jquery, denke ich, dass es gut ist. Aber wenn Sie eine einzelne Seite Anwendung, Routing, Zwei-Wege-Bindung usw. Mischen von asp.net mvc Ansichten mit vue.js haben, ist keine gute Idee. Schließlich werden Sie viele Probleme haben.

Es ist eine architektonische Entscheidung, aber Sie könnten Web-API-Dienste mit dotnet implementieren und diese Dienste aus einer node.js-Anwendung (express, webpack, vue.js) verwenden.

+0

"keine gute Idee", warum? – liang

+0

Die Verwendung eines Webpack-Ansatzes ist einfacher, mit Partiel Views müssen Ansichten berücksichtigt werden, aber es funktioniert. Für den dotnet-Core gibt es tolle webpackbasierte Vorlagen. – Reiner