Je souhaite utiliser Angular 4 dans mon projet ASP.NetCore 1.1, dans Visual Studio 2017 (comme suit: fichier * .csproj)
Auparavant, avec ASP.NET Core 1.0 et Visual Studio 2015, vous pouviez simplement ajouter AngularJS (1.x.x) dans le project.json
en tant que dépendance et ce dernier se connecterait lui-même.
Désormais, avec ASP.NetCore et VS2017, le fichier project.json
a disparu et la seule documentation que je peux trouver fait référence à STARTING un projet Angular 4 en utilisant la CLI et en utilisant la CLI pour générer une nouvelle application angulaire. Je ne veux pas vraiment de nouveau projet ou n'ai à refacturer tout ce que j'ai créé pour fournir un service à un projet d'interface utilisateur distinct. Je veux juste augmenter mon application avec une expérience utilisateur supplémentaire côté utilisateur.
Aucune suggestion?
Cette question a suscité beaucoup d'opinions et l'information ne m'aide pas beaucoup, alors je présente cette mise à jour.
Visual Studio 2017 (*.csproj
)
Asp.Net Core 2.0 + Angular (v2.0 ~ v4.0) :: Utilisez le modèle intégré! Meilleure option IMO.
Asp.Net Core 1.X + Angular (v2.0 ~ v4.0)
Visual Studio 2015 (project.json
)
Outillage: jusqu'à la version -preview2 - Pas d'autres mises à jour, toutes les nouvelles fonctionnalités .NET Core migreront vers VS 2017
Asp.Net Core 1.X + Angular (v2.0 ~ v4.0)
Asp.Net Core 1.X + AngularJS (~ 1.5)
Asp.Net MVC 5 + AngularJS (~ 1,5)
Remarques: Il y a beaucoup d'autres moyens d'obtenir que Angular fonctionne avec des projets ASP.Net/.NetCore tels que NPM, Bower, NuGet, etc. J'ai essayé de mettre en évidence ceux qui sont simples et qui fonctionnent réellement. . Celles-ci vont également dans le sens de la direction prise par Microsoft, selon le billet de blog Pluralsight ci-dessus.
[Je suis conscient que vous n'avez pas posé cette question spécifiquement mais que je voulais simplement partager une pensée qui est très pertinente à mon avis]
J'étais exactement au même moment il y a quelques mois et j'ai décidé d'aller avec Cli angulaire. et je remercie Dieu d’avoir pris cette décision ... plus incomparablement plus claire et elle définit les choses comme elles devraient être: .net core web api backend et client angulaire complètement séparé. exactement comme vous ne mettriez pas votre app iphone/android dans la solution VS, il n’ya aucune raison de mettre angular celle-ci non plus.
UPDATE Utilisez MVC avec Razor, utilisez OR avec Angular comme SPA et, si vous utilisez Angular, utilisez la CLI Angular . si vous utilisez angular, introduisez des données dans asp.net (core) Web Api en tant que backend REST
Je peux voir à quel point cela est déroutant, mais dee zg est correct. Vous allez vouloir deux projets distincts. L’une sera l’API backend core (REST) et l’autre sera le Angular 2. Il y aura une séparation complète.
Avec AngularJS, vous pouvez simplement déposer le fichier js dans une vue rasoir et l'appeler un jour. Cependant, avec Angular 2/4 et React, il est préférable d’héberger chaque projet dans sa propre solution. Cela peut sembler idiot au début, mais lorsque vous développez votre API, elle peut facilement être testée pour l'avenir en ayant la possibilité d'être également utilisée par des applications mobiles, des applications de bureau, etc.
Je sais qu'il existe une commande cli powershell angulaire pour les services de spa dotnet pour le noyau .net, mais il s'agit vraiment d'un gâchis et produit en fait un code HTML non valide qui pourrait éventuellement être préjudiciable au référencement, etc. , pour utiliser simplement la CLI angulaire dans un projet séparé.
En ce qui concerne la production, vous hébergerez l’API core .net et les projets angular 2 séparément.
J'espère que cela pourra aider.
Ce que vous entendez par "Ajouter Angular 4 à un projet ASP.NET Core" n’est pas tout à fait clair, mais vous pouvez le faire comme suit:
Sur mon blog, j'ai un tutoriel détaillé démontrant cette approche .
Je travaille sur une Angular 4(SPA) et une API web .Net. Vous pouvez consulter le référentiel et vous pourriez mieux comprendre.
Je devais trouver des solutions à de nombreux domaines tels que l'authentification, l'autorisation, la connexion sociale, le connecteur MongoDB e.t.c
J'espère que cela ferait gagner du temps à quelqu'un qui trébuche.
J'utilise Angular 6 et ASP.NET CORE 2.1, mais cela pourrait fonctionner sur Angular 4.
Exécutez la commande:
ng génère le composant nom-composant-avec-minuscules
Cela va générer les fichiers .html, .spec.ts, .ts, .css et mettre à jour le fichier app.module.ts.
Exécutez la commande:
ng generate service _component-name-with-lowercase_
Cela générera les fichiers .ts et .spec.ts par défaut dans le dossier\app. Nous pouvons déplacer ces fichiers sur un autre dossier comme\app\_services