使用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服务器端渲染 ,我真的找不到一个工作教程数周…请帮助。
- 量angular器 – 出错“找不到模块../lib/cli.js
- Angular.JS中的Resource + Socket.io工厂
- 如何在模块Aimport模块B的地方开发两个angular模块
- 量angular器:在上传过程中检查存在的元素
- UNMET PEER DEPENDENCY D3.js和Angular 2
- angular 2指令作为npm包
- 我正在使用angular2斜angularcli,并尝试使用ng2-datetime,但它给错误“TypeError:无法读取属性'jQuery'未定义的”
- 如何从angular2发表到服务器
- Angular和NodeJS使用参数获取请求url只返回响应对象no组件HTML