angular色2等效的renderToString

我正在寻找相当于react-dom/server.renderToString的angular度2

 import { renderToString } from 'react-dom/server'; // Render the component to a string const html = renderToString( <App /> ); 

使用NodeJs将指令/组件转换为HTML的最简单代码示例是什么?

我想这应该是可能的这些包之一:

  • @ angular / compiler – v2.0.0-rc.2

  • @ angular / platform-server – v2.0.0-rc.2

Angular组件使用HTML模板作为开发过程的一部分,但我们实际上将这些模板编译为Javascript,而不是HTML,以便将它们呈现给浏览器。

最接近的事情可能会帮助你看看https://github.com/angular/universal 。 这个项目代表了在服务器上运行你的Angular组件的最好方法,它能够呈现JavaScript和HTML,并通过networking传递给浏览器。

我们不能提供一个简单的方法来“渲染”HTML,因为任何types的“渲染”都涉及整个Angular框架(核心,公共,模板编译)和处理整个组件树。

希望这可以帮助!

 import 'angular2-universal/polyfills'; import { provide, REQUEST_URL, ORIGIN_URL, NODE_ROUTER_PROVIDERS, NODE_HTTP_PROVIDERS, Bootloader } from 'angular2-universal'; import { APP_BASE_HREF } from '@angular/common'; const bootloader = new Bootloader({ platformProviders: [ {provide: ORIGIN_URL, useValue: 'http://localhost:3000'}, {provide: APP_BASE_HREF, useValue: '/'} ], async: true, preboot: false // { appRoot: 'app-root' } // your top level app component selector }); export function ngApp(req, res) { let url = req.originalUrl || '/'; const config = { template: `<!doctype html><html><head>...</head><body>...</body></html>`, directives: [AppComponent], providers: [ {provide: REQUEST_URL, useValue: url}, ...NODE_ROUTER_PROVIDERS, ...NODE_HTTP_PROVIDERS ] }; bootloader.serializeApplication(config) .then(html => res.send(html)); }