Intégrer Angulaire 5 avec ASP.NET MVC 5
Je suis en train d'intégrer Angulaire 5 application générée avec la CLI de projet dans un ASP.NET MVC 5 application. J'ai créé l'angle de projet avec la CLI à l'intérieur de la ASP.NET projet MVC, et je veux utiliser Angulaire 5 les composants à l'intérieur de rasoir vues; ceux-ci seront simple rasoir points de vue et à l'intérieur, je vais exposer quelques Angulaire 5 composants. Je l'ai fait avec ASP.NET Core 2, j'ai changé le Outdir
propriété wwwroot
dans le fichier .angular-cli.json
, et cela a fonctionné, mais je ne pouvais pas le faire avec ASP.NET MVC 5. Quelqu'un peut-il aider? Merci
PS: de nombreux tutoriels utiliser les anciennes versions de Anguleuses, et ils ont utilisé un fichier nommé system.js
, mais ce fichier n'existe plus dans les versions plus récentes de Anguleux.
OriginalL'auteur Haytham | 2017-12-14
Vous devez vous connecter pour publier un commentaire.
Avez-vous vu la version release candidate pour le nouveau Microsoft Core Angulaire du modèle. Ils ont changé le modèle de sorte qu'il utilise angulaires-cli. Fonctionne bien. Vous pourriez peut-être suivre le même build config modèle. Remarque vous devez installer la version la plus récente du modèle via
dotnet nouveau --l'installation de Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0-rc1-finale.
https://docs.microsoft.com/en-us/aspnet/core/spa/angular?tabs=visual-studio#tabpanel_IjUmMTId-R_visual-studio
OriginalL'auteur Ali Goodnature-Wieckowicz
J'ai juste fait ce Angulaire 5 et MVC 5. Je vous suggère de trouver un "Hello World" en travaillant d'abord, puis à port déjà en place dans votre MVC problème.
Pré-reqs - assurez-vous d'avoir le dernier Nœud, NPM, AngularCLI installé...
Dans VS2017, créer un Nouveau ASP.NET Application Web, un SPA avec MVC et WebAPI 1.1. Afficher tous les fichiers (dans l'Explorateur de Solution - ce qui rend les choses plus faciles!)
De l'emballage de la console du gestionnaire de désinstaller les paquets:
Supprimer tous les bundles dans
BundleConfig.cs
(nous allons tirer dans plus tard!)Supprimer le dossier Scripts (il sera recréé à l'aide de la AngularCLI)
Ajouter Angulaire à l'aide de la CLI (aller dans le dossier racine du projet)
Exécuter:
ng new Scripts --skip-tests --style scss
Dans le Projet, d'Inclure tous les dossiers SAUF
node_modules
!Mise à jour
angular.json
pour la sortie d'unBundles
dossier ->"outputPath": "../Bundles"
Ajouter des grappes de
(Facultatif) ajouter de nouveau les bibliothèques par le biais de MNP (invite de commande à partir de Scripts dossier):
(En option) Référence angulaire.json pour AngularCLI tire dans le webpack faisceaux:
Construire à partir de scripts dossier:
ng build --extractCss
Dans
_Layout.cshtml
, ajouter:et
Supprimer l'ancien bundle importations de!
Dans
Home/Index.cshtml
, ajouter l'Angulaire de l'élément:13.1 Retirer l'ancien bundle importations de!
Exécuter l'application web, il devrait s'ouvrir. Enregistrer un nouvel utilisateur, puis ouvrez une session. Afficher la MVC5 page de démonstration en collaboration avec l'angle de
À "regarder" la page web à partir de la ligne de commande:
Cela va reconstruire les paquets. Malheureusement, vous devez actualiser le navigateur, mais c'est mieux que d'arrêter/de départ les choses!
Crier, si vous avez besoin de plus de détails - j'ai couru à travers ce deux fois de se familiariser avec elle, et il fonctionne très bien!
Salut Mawy, c'est un grand sujet. Je n'ai pas utiliser Azure, mais sur AWS, je préfère une "vieille école" méthode de déploiement. - Je exécuter un script MSBuild "ng build --prod", qui crée la prod bundles Angulaire etc, puis un MSBuild pour construire le MVC5 projet de site web. Puis-je copier dans un dossier partagé sur le serveur de destination. Le serveur de destination est en cours d'exécution IIS7, et que l'action est à l'intérieur de inetpub/wwwroot. Dans IIS en général, je créer un nouveau répertoire virtuel, et mon dossier partagé se trouve là... j'espère que ça aide à vous orienter? Sinon poser la question et je vais essayer de donner une plus grande réponse...
En suivant les étapes indiquées, j'obtiens l'erreur Erreur: Le sélecteur sur "app-racine" ne correspond à aucun des éléments
vous n'avez pas mis dans le code html de l'élément <app-root></app-root> dans votre MVC vue. C'est là Angulaire va injecter de l'HTML en sortie, ce qui vous définissez comme un sélecteur d'élément dans votre application.composante.ts... Mettre dans le MVC vue lorsque vous effectuez le rendu de l'angle de scripts...
Merci, @JamesJoyce. Grande réponse. Peu utilisé avec beaucoup de succès. Une petite correction: Étape 5:
ng new Scripts --skip-tests --style=scss
OriginalL'auteur James Joyce
Solution et comment le faire en utilisant Angulaire 4.3 ici:
Juste pour plus de commodité: ceux qui connaissent MVC pouvez ignorer toutes les explications et aller directement à la section "Comment faire pour inclure Angulaire" youtu.être/-2tpXcor6wU?t=4703
OriginalL'auteur Haytham