ServiceStack 热重载 Typescript

ServiceStack Hot Reloading Typescript

我正在使用 .net 核心和 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");
}

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

开发工作流程

我们在开发期间的建议是 运行 dev npm 脚本或 Gulp 任务并将其留在后台 运行ning:

$ npm run dev

这最初会生成您的 Web 应用程序的完整开发版本,然后在后台 运行ning 处理文件的更改。这启用了 运行 宁您的 ASP.NET Web 应用程序的正常开发工作流程,将更改保存在本地,然后使用 ServiceStack 的内置热重新加载重新加载。或者点击 F5 将刷新页面并查看最新更改。

每个更改都会更新输出开发资源,因此即使您停止开发任务,您的 Web 应用程序仍处于工作状态,当 运行 启用 ASP.NET Web 应用程序时,该状态是可见的。

使用内置开发服务器实时重新加载

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

$ npm run serve

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

观看了 .NET Core 构建

.NET Core 项目也可以受益于使用 dotnet watch 的实时编码,它执行“监视构建”,在检测到源文件更改时自动停止、重新编译并重新启动您的 .NET Core 应用程序。您可以从命令行启动监视构建:

$ dotnet watch run