为什么Angular Universal中的res.render花了这么长时间?
我正在构build一个有angular的通用应用程序,我现在所有的网站的结构。 我做了关于转换我的Angular Universal应用程序的教程中的所有内容。
console.log("got Request " + new Date()); res.render(join(DIST_FOLDER, 'browser', 'index.html'), { req , time: true}, function(err, html) { console.log("finished Rendering " + new Date()); res.send(html); } );
渲染需要3秒半。这对我来说似乎是一个巨大的时间。 同样在Chrome浏览器中的DeveloperTools TTFB是3,5秒。 除了路由,该应用还没有做任何事情。 我不希望我的未来应用程序如此缓慢。
任何人都有线索,如果这是正常的或有什么改善? Github回购问题https://github.com/Joniras/slow-universal-rendering-example
设置工作区并运行angular度通用:
npm install npm run build:universal npm run serve:universal
版本:
Angular CLI: 1.5.0
Node: 6.11.5
OS: win32 x64
Angular: 5.0.1
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, platform-server, router
@angular/cdk: 5.0.0-rc0
@angular/cli: 1.5.0
@angular/flex-layout: 2.0.0-beta.10-4905443
@angular/material: 5.0.0-rc0
@angular-devkit/build-optimizer: 0.0.33
@angular-devkit/core: 0.0.20
@angular-devkit/build-optimizer: 0.0.33
@angular-devkit/core: 0.0.20
@angular-devkit/build-optimizer: 0.0.33
@angular-devkit/core: 0.0.20
@angular-devkit/build-optimizer: 0.0.33
@angular-devkit/schematics: 0.0.35
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.8.0
@schematics/angular: 0.1.3
typescript: 2.4.2
webpack: 3.8.1
express 4.16.2
我不得不风格作为代码,否则我不能发布
你的代码有一个3000毫秒的超时时间(UserService)
setTimeout(() => { resolve(this.loggedInUser); }, 3000);
- 我应该使用process.nextTick还是setImmediate进行asynchronous迭代?
- 嵌套Lodash forEach
- 对高度请求的队列进行Firebase优化
- 性能:System.Diagnostics.Process vs System.Management.Automation.PowerShell
- 是什么让node.js SlowBuffers“慢”?
- jmeter:NoHttpResponseException:目标服务器无法响应
- node.js与客户端Javascript(与Chrome / V8相比)有什么性能优势吗?
- 优化我的Node.js / Js / Socket射击游戏
- 同时调用setTimeout会导致比预期更多的延迟