我正在使用k web从命令行运行HelloMvc示例应用程序。我尝试使用kvm use -runtime使用不同的环境来运行它。当我更改控制器并在浏览器中按F5(或Ctrl + F5)时,代码不会自动重新编译,页面也不会更改。我做错了什么?
Active Version Runtime Architecture
------ ------- ------- ------------
1.0.0-alpha3 svr50 x86
1.0.0-alpha3 svrc50 x86
1.0.0-alpha4 CLR x86
* 1.0.0-alpha4 CoreCLR x86
答案 0 :(得分:16)
从命令行运行dnx web
只能启动主机。要获得自动重新编译的好处,需要查看文件以进行更改,并在检测到任何更改时重新启动主机。要完成此操作,请使用--watch
标志并运行您的web命令:
dnx --watch web
目前,这只是在检测到更改时关闭主机,因此您需要在发生更改后重新启动它。如果从Visual Studio 14运行项目,IISExpress会为您执行此操作。
Visual Studio之外的这个工作流程最好的选择是通过JavaScript构建工具或npm脚本。我建议你研究this gulp-aspnet-k plugin(注意这个插件目前仅适用于Windows),如果你想在VS14之外工作时连续重新编译文件更改。如果没有我发现的IISExpress,似乎是实现这一目标的最佳方式。这个插件是特定于Windows的,但查看代码应该可以帮助您入门。 :)
Glenn F. Henriksen为nodemon写了一个非常好的包装器,叫做kmon。试试吧。 The kmon GitHub repository has all the instructions you need
答案 1 :(得分:3)
基于gulp plugin linked to by AndersNS,您可以使用一些PowerShell来自动重启应用程序:
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "for(;;) { Write-Output \"Starting...\"; k --watch web }"
如果您将其粘贴到批处理文件(例如run.cmd
)中,您可以轻松启动应用程序,使其保持运行并自动重新启动并重建文件更改。
如果要使用除web
之外的其他目标,请确保调整k命令行。