2017-04-15 214 views
2

我使用的是asp.net核心角度spatemplate。該項目在我的本地機器上運行時沒有問題。但是,當我將它發佈到Azure時,會遇到內部服務器錯誤。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文件的方法。但沒有創建這樣的文件...它包含一個經典* .proj

我對網絡開發非常新,我不知道如何將缺少的依賴項添加到proj文件。而且我不確定這是否是真正的問題,因爲我在網絡https://channel9.msdn.com/events/Visual-Studio/Visual-Studio-2017-Launch/WEB-103上跟蹤的示例沒有在此方向上設置任何內容。

如果我創建

dotnet new angular

純新項目,我發佈它的一切工作正常,沒有任何問題?所以我有這種感覺,我在解決方案中摧毀了一些東西?!任何想法?

我的問題是如何設置發佈的node_modules?

回答

1

最後我找到了解決這個問題的方法。我刪除了VS2017解決方案中的發佈配置文件,並刪除了Azure上的相關應用服務。在創建新的一切後,再次發佈工作。我希望這將永遠不會發生在生產中。

0

在Startup.cs你可能有以下配置()方法:

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

這使熱模塊更換用的WebPack。當您進行更改並保存文件時,webpack會自動重新編譯角度應用程序,以便您的瀏覽器在不重新加載頁面的情況下提取更改。發佈時不需要此功能。

「env.IsDevelopment()」 將檢查您的PC = ASPNETCORE_ENVIRONMENT =發展

在應用服務上的環境變量,添加應用程序設置如下圖所示:

enter image description here

或者你可以評論熱模塊更換。