2017-04-15 4 views
2

私はasp.netコアの角度のspatemplateを使用します。プロジェクトはローカルマシンで問題なく実行されています。しかし、私が紺碧にそれを公開すると、私は内部のサーバエラーに遭遇します。SpaTemplateの角 - Azureへの公開 - エラー:モジュール 'aspnet-webpack'を見つけることができません

紺碧ポータルの開発にaspnetcore_environmentを設定した後、私はエラーを見ることができます:

Exception: Call to Node module failed with error: Webpack dev middleware failed because of an error while loading 'aspnet-webpack'. Error was: Error: Cannot find module 'aspnet-webpack'

私はここにいくつかのヒントhttps://github.com/sgbj/generator-aspnetcore-angular2/issues/23

を見つけ基本的にはnode_modulesフォルダが生産に欠けていると言います環境。また、手動でproject.jsonファイルに追加する方法についても説明します。しかし、spatemplateはそのようなファイルを作成していませんでした。これは古典的な* .projを含んでいます

私はWeb開発には非常に新しいので、欠落している依存関係をprojファイルに追加する方法はわかりません。そして、私がウェブで追っているサンプルhttps://channel9.msdn.com/events/Visual-Studio/Visual-Studio-2017-Launch/WEB-103がこの方向に何も設定していないので、これが本当に問題であるかどうかはわかりません。

私は

dotnet new angular

と無地の新しいプロジェクトを作成し、私はすべてが問題なく正常に動作し、それを公開した場合は?だから私は解決策で何かを破壊した気がしますか?何か案が?

私の質問は、公開用にnode_modulesを設定する方法です。

答えて

1

最後に、この問題の解決策を見つけました。 VS2017ソリューションで公開プロフィールを削除し、Azureで関連するアプリサービスを削除しました。新しいものすべてをもう一度作成した後、出版は再びうまくいく。私はこれが生産で決して起こらないことを願っています。あなたはおそらく設定で以下の持っているStartup.csで

0

()メソッド:

 if (env.IsDevelopment()) 
     { 
      app.UseDeveloperExceptionPage(); 
      app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions { 
       HotModuleReplacement = true 
      }); 
     } 

これはWebPACKのホットモジュールの交換を可能にします。変更を加えてファイルを保存すると、webpackは角度アプリを自動的に再コンパイルして、ページをリロードせずにブラウザが変更を取得するようにします。パブリッシュ時にこの機能は必要ありません。

"env.IsDevelopment()" には、アプリのサービスで、あなたのPC = ASPNETCORE_ENVIRONMENT =開発

上の環境変数をチェックし、以下のように設定するアプリを追加します。

また

enter image description here

ホットなモジュールの交換をコメントすることができます。

関連する問題