使用Node.js的Angular4服务器端渲染

我遵循的Angular4服务器端教程(官方报道) https://github.com/angular/angular-cli/wiki/stories-universal-rendering ,但是,它是基于CommonJs ,有谁知道如何承载它在NodeJs服务器上? 本教程不包含与“托pipe” NodeJs有关的任何信息,有人可以指导我如何做到这一点? 如何在Ubuntu中设置环境? 如何创build一个服务于应用程序的server.js文件?

我设法build立一个服务器应用程序,但我不知道如何将其托pipe在服务器上,保持与模块相关的错误未find。 请帮忙。

这是教程server.js(是否与node.js兼容)?

 // Load zone.js for the server. require('zone.js/dist/zone-node'); // Import renderModuleFactory from @angular/platform-server. var renderModuleFactory = require('@angular/platform-server').renderModuleFactory; // Import the AOT compiled factory for your AppServerModule. // This import will change with the hash of your built server bundle. var AppServerModuleNgFactory = require('./dist-server/main.988d7a161bd984b7eb54.bundle').AppServerModuleNgFactory; // Load the index.html file. var index = require('fs').readFileSync('./src/index.html', 'utf8'); // Render to HTML and log it to the console. renderModuleFactory(AppServerModuleNgFactory, {document: index, url: '/'}).then(html => console.log(html)); 

我收到错误…

 Error: Cannot find module 'zone.js/dist/zone-node' at Function.Module._resolveFilename (module.js:485:15) at Function.Module._load (module.js:437:25) at Module.require (module.js:513:17) ... ... ... 

我的目录结构是这样的:

 /var/www/example.com/public_html dist/ dist-server/ node_modules/ server.js 

我知道' zone.js/dist/zone-node '是不可用的,但是,即使我改成' node_modules/zone.js/dist/zone-node.js ',也会出现类似的错误。 。不应该是nodeJs能够识别' zone.js/dist/zone-node 'path,我相信有一个configuration文件,但是在哪里可以find?

我希望有人可以提供一个完整的教程相关的Angular4服务器端渲染 ,我真的找不到一个工作教程数周…请帮助。