Impossible de trouver le module 'aspnet-webpack' lors de l'utilisation de 'dotnet publier" dans .Net Core 2.0 & Angulaire
J'ai essayé de suivre les réponses à ce problème, mais en vain.. je suis en train de publier mon .Net Core 2.0 & Angulaire du projet à l'aide de la ligne de commande 'dotnet publier" j'ai réussi à publier, cependant lorsque vous essayez d'exécuter mon projet .dll dans le dossier publié, mon projet crache dans cette erreur lors de l'exécution dans un environnement de développement:
Exception Non Gérée: System.AggregateException: Une ou plusieurs erreurs se sont produites. (Webpack dev middleware a échoué en raison d'une erreur lors du chargement 'aspnet-webpack'. Erreur: Erreur: Impossible de trouver le module 'aspnet-webpack'
Lorsque vous exécutez dans la Production et la DeveloperExceptionPage (comme indiqué dans mon démarrage de windows.cs-dessous) de la .netcore application s'exécute, mais se bloque au cours de l'application web, ce qui je suppose est dû à la plus grande erreur, aspnet-webpack n'est pas trouvé:
NodeInvocationException: Uncaught (promettre): Erreur: Aucun composant de l'usine trouvé pour HomeComponent. Avez-vous l'ajouter à @NgModule.entryComponents?
De démarrage.cs
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
//This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
//This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions
{
HotModuleReplacement = true
});
}
else
{
//app.UseExceptionHandler("/Home/Error");
app.UseDeveloperExceptionPage();
}
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
routes.MapSpaFallbackRoute(
name: "spa-fallback",
defaults: new { controller = "Home", action = "Index" });
});
}
}
Je ne suis pas à l'aide de @Angular/Cli
, mais je suis en utilisant le défaut Angulaire du Projet que VS2017 (mise à jour août, je crois?) génère, qui semble être la seule à utiliser Webpack. Le problème semble être que la Production de config du projet s'attend à une référence que je ne suis pas fournir, mais je n'arrive pas à comprendre pourquoi.
Pas d'autre réponse à cette question m'ont aidé jusqu'à présent, donc je m'excuse si c'est une répétition de la question.
- Votre déclaration "Lorsque vous exécutez dans la Production et la DeveloperExceptionPage", semble être une contradiction. Si l'environnement est mis en Production, il ne va pas utiliser le DeveloperExceptionPage. Qu'est-ce que le réglage de votre variable d'environnement "ASPNETCORE_ENVIRONMENT"? Et que fait-elle l'impression de sortir de "environnement d'Hébergement" lorsque vous exécutez "dotnet xxx.dll"?
- Une réponse tardive, mais peut aider quelqu'un.. je pense que cela pourrait être parce que vous avez le mécanisme national de prévention package "aspnet-webpack" dans le devDependencies dans le paquet.json @ "devDependencies": { "aspnet-webpack": n.n.n } et il ne sera pas pris en considération dans votre build/publié code, mais vous essayez d'exécuter "UseWebpackDevMiddleware HotModuleReplacement" qui nécessite la dépendance. (La raison pour laquelle je suis ici c'est que j'ai eu le même message d'erreur parce que j'ai manqué d'ajouter la dépendance dans mon colis.json en faisant un "manuel de fusion" de Réagir application dans un dotnet core app. )
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème avec "aspnet-webpack", cela a été introduit à mi-chemin dans le développement de projet j'ai donc été peu surpris de voir la mort soudaine de la solution. Il est tout à travailler quelques mois sur IIS, mais tombé en panne au démarrage.
Fichiers journaux IIS n'ont pas été utile, j'ai donc essayé de résoudre ce couple de façons, l'une d'entre eux travaillaient. Dépêchez-vous!
Donc la solution était: j'ai couru suivante sur l'emballage-le gestionnaire de fenêtre-
Il me donner quelques conseils et j'ai commencé à chercher pour "Erreur: Impossible de trouver le module 'aspnet-webpack'" question. J'ai essayé d'aller à travers tous les changements pour le dernier couple de check-ins, et a trouvé que la mise à jour de l' "de Microsoft.AspNetCore.Tous les" à partir de la version 2.0.0 à la version 2.0.3, de sorte que la rétrogradation à la version originale, il fixe.
Je suppose qu'ils ont deux utilisations différentes versions de nœud de paquets. Afin de ne pas mettre à jour pour des raisons moins pour une très bonne raison. Lecture autour de ce que certains bits sont très étroitement couplé à des versions spécifiques et Angulaire très facilement des pauses, si quelque chose a changé. Dans le processus si j'ai réussi à mettre à niveau le nœud à la dernière version 5.0.0
De l'amour pour trouver plus de détails, mais pour l'instant pas de détails sur pourquoi il a besoin d'une version spécifique.
Après vous publiez votre .Net Core 2.0 & Angulaire du projet, et avant de l'exécuter, vous devez vous assurer que la variable d'environnement ASPNETCORE_ENVIRONMENT n'est pas le Développement. Publié le projet n'inclut pas de support pour le WebpackDevMiddleware ou HotModuleReplacement. Mais il va tenter de les utiliser si l'environnement de Développement.
HotModuleReplacement automatiquement les mises à jour Webpack-intégrée des ressources (telles que JavaScript, CSS ou les images) dans votre navigateur web chaque fois que les fichiers sources sont modifiées. C'est évidemment quelque chose que vous ne voulez pas dans la production.
Si ASPNETCORE_ENVIRONMENT est réglé sur "Développement", vous pouvez modifier le paramètre d':
Vous aurez besoin de fermer la fenêtre de commande et en ouvrir un autre pour voir le changement.
Vous pouvez également mettre en commentaire le code suivant dans le démarrage.cs pour accomplir le même résultat:
Dans mon cas, la cause était que la SPA (Vue dans mon cas) est dans la ClientApp dossier et
app.UseWebpackDevMiddleware
s'attend à ce qu'il soit à la racine du projet.Réglage de la
ProjectPath
option résolu pour moi.Assurez-vous d'avoir bien installé toutes les dépendances:
Vérifier que node.js est installé dans la production et est dans le chemin.
Node.js est utilisé par webpack
Vérifiez également que vous avez une version récente de Node.js (4+)
Référence : AspNetCore + Angulaire 2: WebpackDevMiddleware Erreur avec un nouveau projet
Version de Node.js peut être vérifié avec :
Et bien sûr variable d'environnement path doit être vérifié et mis à jour si de pointage obsolète Node.js
Tous les meilleurs
J'ai eu la même erreur que vous, dans un projet sans Angulaire:
S'est avéré être un simple problème avec le noeud que j'ai tendance à oublier.
Rappelez-vous que mnp commandes doivent être exécutés dans le répertoire qui contient votre colis.fichier json. J'espère que cela aide quelqu'un qui a autant de problèmes que moi de rappeler pour exécuter mnp commandes. Merci au forum qui m'a rappelé:
https://www.ebenmonney.com/forum/?view=thread&id=20&partie=1#postid-57
À configurer la fonction de démarrage.cs Vous pouvez utiliser une instruction if pour le développement de l'environnement
Vous pouvez cette comman dans la commande d'impression à changer l'environnement :
setx ASPNETCORE_ENVIRONMENT "Développement"