Laden...

VS17: TypeScript und Angular Version bestimmen

Erstellt von Davaaron vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.423 Views
D
Davaaron Themenstarter:in
106 Beiträge seit 2016
vor 5 Jahren
VS17: TypeScript und Angular Version bestimmen

Hallo,

die Projekt-Konfiguration verwirrt mich etwas in VS17. TS und NG kann man ja global über NPM installieren, aber auch lokal für VS17. Innerhalb von VS17 gibt es dutzende Konfig-Dateien. In der tsconfig.json kann man das Ziel (target) für typescript angeben bzw. für ECMAScript. In den Eigenschaften von einem Projekt kann man dazu noch TypeScript build konfigurieren.
Welche von den beiden Einstellungen zählt denn? Und wieso kann ich im TypeScript build nur TypeScript 2.5, 2.8 und latest auswählen?

Was mich auch interessiert: Ich habe ein Angular-Projekt mithilfe eines ASP.Net Core 2 & Angular 5 Templates erstellt. Wie migriere ich jetzt nach Angular 6 und dann nach Angular 7?
Ist es möglich, dies nur für einzelne Projekte zu machen? Mal angenommen, ich habe ein älteres Projekt mit Angular 4 und vielleicht noch eins mit Angular 5 und will jetzt ein neues Projekt mit Angular 7 starten. Dann will ich natürlich nicht immer die Angular-Version down/upgraden müssen, nur um das Projekt zu starten...
Im Package.json kann man hierfür ja die Versionen angeben. Meist alle Version sind mit einem Circumflex (^) versehen. Da dachte ich, dass ich bereits die neueste Version verwende. Dies scheint aber nicht der Fall zu sein, denn ich bekam Rückmeldungen, dass Fehler der Art "To use this feature, you need at least Angular 6 or higher" auftreten (leider habe ich hierzu nicht mehr Infos).

Kann mir da jemand helfen? Ich denke ich stehe nur auf dem Schlauch. Es kann doch nicht sein, dass so was (Versionierung von Modulen für Projekte) mit viel Aufwand verbunden ist.

16.834 Beiträge seit 2008
vor 5 Jahren

VS2017 ist nicht wirklich gemacht für die TypeScript / NPM / Angular Entwicklung. Du wirst hier absolut kein Spaß haben.
VS2017 ist eine IDE und war und wird nie darauf ausgelegt sein, die extrem hohe Geschwindigkeit der Aktualisierungen der Web-Technologien - die allesamt CLI-basiert sind - mit zu halten.
Da bist Du in VSCode besser aufgehoben; das ist einfach bei solch ausgelegten Technologien so - das muss man akzeptieren.

PS: Die Config Dateien haben auch nichts mit Visual Studio zutun, sondern sind Einstellungsdateien der jeweiligen Komponenten einer solchen Umgebung (NPM, TypeScript, Angular...).

Wie migriere ich jetzt nach Angular 6 und dann nach Angular 7?

Von Hand: https://update.angular.io/

Ist es möglich, dies nur für einzelne Projekte zu machen? Mal angenommen, ich habe ein älteres Projekt mit Angular 4 und vielleicht noch eins mit Angular 5 und will jetzt ein neues Projekt mit Angular 7 starten. Dann will ich natürlich nicht immer die Angular-Version down/upgraden müssen, nur um das Projekt zu starten...

Dann riecht etwas an Deinem grundlegenden Aufbau fischig, wenn überhaupt der Bedarf dafür existiert.

Es kann doch nicht sein, dass so was (Versionierung von Modulen für Projekte) mit viel Aufwand verbunden ist.

Versionierung ist kein Pappenstiel. War es nie und wird es nie sein.
Nicht umsonst gehören Updates und Upgrades von Dependencies im Rahmen der Entwicklung als ganz normale Entwickleraufgabe mit in die Planung - und ist nicht Teil des Grundrauschens.

2.207 Beiträge seit 2011
vor 5 Jahren

Hallo Davaaron,

Ich habe ein Angular-Projekt mithilfe eines ASP.Net Core 2 & Angular 5 Templates erstellt. Wie migriere ich jetzt nach Angular 6 und dann nach Angular 7?

Ich glaube das Template hat sogar Server Side Rendering, kann das sein? Brauchst du das?

Genau deswegen trenne ich Frontend und Backend, die Technologien, sogar im Dateisystem sind das zwei verschiedene Folder. TS und Angular haben (bei mir) nichts im VS zu suchen sondern werden nur mit VSCode gemacht. Das Frontend hat keine Ahnung welche Technologie im Backend läuft: Das kann ASP.NET Core sein, Node, etc. Genauso hat das Backend keine Ahnung von wo (bzw. was) der Request kommt. Ob das Angular, React ist etc. Ist ja HTTP am Ende.

Ich mache auch in Kursen die ich geb immer wieder die Erfahrung, dass das Lösen von Visual Studio als Umgebung härter ist als der Umstieg auf das "neue" ASP.NET Core mit Angular 😃

Es kann doch nicht sein, dass so was (Versionierung von Modulen für Projekte) mit viel Aufwand verbunden ist.

Deine Client-Anwendung besteht aus x Abhängigkeiten bzw. npm Paketen. Die kannst du in geregelten Abständen updaten. Wie Abt sagt: Einplanen, pro Sprint mal machen, dann ist es nie eine riesengrosse Sache. Und wenn Probleme kommen sieht man es früh und kann reagieren.

Gruss

Coffeebean

D
Davaaron Themenstarter:in
106 Beiträge seit 2016
vor 5 Jahren

Danke für eure Antworten.
Abt, ich finde VS17 ist mittlerweile sehr gut für Angular + TypeScript. Ich finde zumindest nicht wesentlich schlechter als VS Code. Bei VS17 hat man Scaffolding für Backend-Sachen (insbesondere Controller, Code First, etc.), was man so bei VS Code nicht hat.
Mich verwirrt nur die 2-3 verschiedenen Einstellungsmöglichkeiten zur Angabe einer TypeScript-Version beispielsweise. Und was mich auch verwundert ist, dass Angular 6 Features nicht genutzt werden können, wenn mit Angular 5 ein Projekt gestartet wird (Template aus dem Marketplace).

Hi Coffeebean,
innerhalb von VS17 wird Backend vom Frontend durch verschiedene Projekte getrennt, d.h. in den meisten Fälle habe ich zumindest ein API Projekt und ein Host (eig. immer ASP.NET Core, bin ja erst seit 6 Monaten dabei) + Frontend Projekt.

Ich glaube das Template hat sogar Server Side Rendering, kann das sein? Brauchst du das?

Das weiß ich jetzt ehrlich gesagt nicht. Ich weiß, dass das generell unterstützt wird, habe ich bisher aber noch nie wirklich gebraucht.

Ich denke, ich habe mir vielleicht für nichts Sorgen gemacht. Meine größte Sorge war, dass Angular irgendwann nicht mehr rückwärtskompatibel ist. Dann will man aber vielleicht trotzdem nicht migrieren, dennoch neue Projekte mit dem neusten Stand der Dinge entwicklen. Dann hätte man einen Versionskonflikt und man müsste ja quasi immer NG installieren und deinstallieren, damit das jeweilige Projekt läuft. Bleibt also nur zu hoffen, dass sich Angular treu bleibt (und keinen Umbruch wie von Version 1 zu 2 macht).

16.834 Beiträge seit 2008
vor 5 Jahren

Abt, ich finde VS17 ist mittlerweile sehr gut für Angular + TypeScript. Ich finde zumindest nicht wesentlich schlechter als VS Code.

Um ehrlich zu sein gibt es nicht viele mit dieser Meinung. Deswegen tut sich kaum jemand Angular und VS17 an.

Ich liebe VS17 - keine Frage.
Aber es ist nicht für Sprachen und Technologie wie TypeScript und Angular ausgelegt - und wird es nie werden.
Dazu gibt es auch eine offizielle Note.

Bei VS17 hat man Scaffolding für Backend-Sachen (insbesondere Controller, Code First, etc.), was man so bei VS Code nicht hat.

Das Scaffolding sind Minimalbeispiele, die teilweise nichts mit der realen Welt und Anforderungen zutun haben.
Also mit Vorsicht genießen. Manche denken, dass das Scaffolding die Basis für jede Art von Anwendungen wäre.

Meine größte Sorge war, dass Angular irgendwann nicht mehr rückwärtskompatibel ist. Dann will man aber vielleicht trotzdem nicht migrieren, dennoch neue Projekte mit dem neusten Stand der Dinge entwicklen.

Das ist absolut widersprüchlich.

Bleibt also nur zu hoffen, dass sich Angular treu bleibt (und keinen Umbruch wie von Version 1 zu 2 macht).

Es ist bekannt und announced, dass es jede 6 Monate (also bei jedem Major Update nach aktuellem Zyklus) Breaking Changes geben kann.
Gleiches gilt für jede andere Technologie (ASP.NET Core, Node, React...)

D
Davaaron Themenstarter:in
106 Beiträge seit 2016
vor 5 Jahren

Peinlich das zuzugeben, aber jetzt ist mir alles klar. 😄 Ich hatte unter Major Release was anderes verstanden.. jetzt, wo ich weiß, was Angular bzw. eher npm unter Major Release versteht, ist auf einmal alles klar.