我通过dotnet new --install Microsoft.AspNetCore.SpaTemplates::*
按Scott Hanselman's guide安装了SPA模板(包括角度)。
接下来,我创建了一个新的角度项目:dotnet new angular -n MyProject
我在Visual Studio 2017中打开了这个项目。我用Ctrl + F5运行它,然后运行网站。我得到一个控制台屏幕告诉我去http://localhost:5000。我去那里,一个网站出现在浏览器中,有一个" Hello,World!"在页面顶部。一堆"信息"出现在控制台中。到目前为止一切都很好。
然后我转到ClientApp/app/components/home/home.component.html
。我做了一个小的文字更改:我将<h1>Hello, world!</h1>
更改为<h1>Hello, Matt!</h1>
。在控制台中,我看到一条消息Node will restart because file changed: ...home.component.html
。大。除非我访问浏览器,否则不会显示更改。它仍然说&#34;你好,世界!&#34;。我已经尝试过清除缓存,打开其他浏览器等,没有骰子。
我在控制台或浏览器控制台中看不到任何错误。好像wwwroot/dist/main-client.js
似乎没有得到更新。
我错过了什么?为什么不接受这种改变?
更新
我有一些事情已被弄清楚了。我还没有准备好发布答案,因为我并非100%确定我做得对。
我注意到当我从命令行运行webpack
时,dist文件夹得到了更新。查看Configure
中的Startup
方法,我注意到有一个app.UseWebpackDevMiddleware(...)
。我通过调试并意识到这不被调用,因为env.IsDeveloper()
返回false。我查看了launchSettings.json(由Visual Studio创建,而不是模板)。我添加了ASPNETCORE_ENVIRONMENT(you can see the before & after in this gist)。一旦我这样做,我在角度文件中所做的任何更改都会导致重建并更新dist文件夹。
所以...这是模板的问题,VS2017的问题,还是我自己的开发环境有问题?
答案 0 :(得分:2)
我会使用CLI来代替安装SPA模板:
1-使用“npm install -g yo”安装yo发电机
2-使用“npm install -g yo generator-aspnetcore-spa”安装aspnetcore生成器
3-使用以下命令生成新的角度应用程序:“yo aspnetcore-spa”
我希望这会有所帮助。