Nic*_*tby 13 asp.net-mvc edge.js angular-universal angular
我正在探索在ASP.NET MVC应用程序中使用Edge.js在服务器端渲染Angular 2的可能性.
我知道Angular Universal Starter Kit有这个等式的一部分:https://github.com/alexpods/angular2-universal-starter
但是,它使用的是Node.js服务器.我宁愿不在现有的IIS服务器上添加一个Node.js服务器作为额外的Web服务器.我的想法是我可以使用Edge.js在服务器端执行Angular的渲染(即,运行必要的JavaScript来生成标记).
我是Angular 2的新手,所以为我准备一个例子并运行起来并非易事.基于这个封闭的问题,我想说目前还没有努力增加对Edge.js的支持(尽管它正在被考虑):https://github.com/angular/universal/issues/40
有没有人知道是否可以使用ASP.NET MVC应用程序中的Edge.js在服务器端渲染Angular?
顺便说一下,我坚持使用.NET 4.5.2(Umbraco需要它),所以我无法转移到.NET Core并使用它:https://github.com/MarkPieszak/aspnetcore-angular2-普遍
您可以使用 Microsoft 的 SpaServices 包。在内部,此包会将调用转发到节点服务器,但您不必在 ASP.NET Core 服务器上运行节点。
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
spa.UseSpaPrerendering(options =>
{
options.BootModulePath = $"{spa.Options.SourcePath}/dist-server/main.bundle.js";
options.BootModuleBuilder = env.IsDevelopment()
? new AngularCliBuilder(npmScript: "build:ssr")
: null;
options.ExcludeUrls = new[] { "/sockjs-node" };
});
if (env.IsDevelopment())
{
spa.UseAngularCliServer(npmScript: "start");
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2016 次 |
| 最近记录: |