我在这里遵循Angular4服务器端教程(官方故事)
https://github.com/angular/angular-cli/wiki/stories-universal-rendering但是,它基于CommonJs
,是否有人知道如何在NodeJs
服务器上托管它?本教程不包含与" hosting"相关的任何信息。与NodeJs
,有人可以指导我如何做到这一点?如何在Ubuntu中设置环境?如何创建一个为应用程序提供服务的server.js
文件?
我设法构建一个服务器应用程序,但我不知道如何在服务器上托管它,不断发现与找不到模块有关的错误。请帮忙。
这是教程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
'但是,即使我更改为&{39; node_modules/zone.js/dist/zone-node.js
',也会出现类似的错误...不应该nodeJs
能够识别' zone.js/dist/zone-node
'路径,我相信有一个配置文件,但在哪里可以找到?
我希望有人可以向我们提供与 Angular4服务器端渲染相关的完整教程,我几周都找不到工作教程......请帮忙。