ServiceStack热装打字稿

时间:2018-10-09 16:00:39

标签: servicestack

我正在使用.net core和ServiceStack Angular SPA项目模板,并且想启用热重装。

根据我在网站here上看到的内容,我只需要添加:

Plugins.Add(new TemplatePagesFeature());

<i hidden>{{ '/js/hot-loader.js' | ifDebugIncludeScript }}</i>

并且:

SetConfig(new HostConfig { DebugMode = true });

这适用于HTML文件,但是,当我修改TS文件(在控制台或浏览器中)时,没有任何反应,我是否需要配置其他内容以允许这样做?

编辑

我认为这也会开始类似npm run dev(运行--aot),但是看起来并不像那样,所以我的临时解决方案是使用类似这样的东西,直到找到更优雅的方式为止, shell extension

if (env.IsDevelopment())
{
   app.UseDeveloperExceptionPage();
   app.Shell("npm run dev");
}

1 个答案:

答案 0 :(得分:2)

每个模板的开发工作流程可以在每个模板的项目页面上找到。例如。 Angular SPA Project Template要求您运行npm run devnpm run serve来启动受监视的客户端构建:

开发工作流程

我们在开发过程中的建议是运行dev npm脚本或Gulp任务并使其在后台运行:

$ npm run dev

这最初会生成Web应用程序的完整开发版本,然后在后台运行以在文件更改时处理文件。这样一来,正常的开发人员工作流程就可以运行ASP.NET Web App,在本地保存更改,然后使用ServiceStack的内置热重载功能将其重新装载。或者,点击F5将刷新页面并查看最新更改。

每次更改都会更新输出开发人员资源,因此即使您停止开发任务,您的Web应用程序仍将处于运行状态,在运行ASP.NET Web App时可见。

使用内置Dev Server实时重新加载

另一种开发人员工作流程是运行serve npm或gulp脚本以运行Create React App的内置Webpack开发服务器:

$ npm run serve

这将启动侦听http://localhost:4200/的Webpack开发服务器,并将其配置为将所有非Webpack HTTP请求代理到ASP.NET Web App,并在其中处理所有服务器API请求。通过Webpack开发服务器查看应用程序的好处是其内置的实时重新加载功能,该功能将在更新资源时自动重新加载页面。

观看过的.NET Core构建

.NET Core项目还可以通过使用dotnet watch从Live Coding中受益,该dotnet watch执行“监视的构建”,当它检测到源文件更改时,它将自动停止,重新编译并重新启动.NET Core App。您可以使用以下命令从命令行启动受监视的构建:

$ dotnet watch run