跳转至

CircleCI Join the chat at https://gitter.im/angular/universal

通用角度

Angular Universal

目录


介绍

Angular Universal 项目是一个社区驱动的项目,旨在扩展 Angular(平台服务器)的核心 API,使开发人员能够在各种场景中对 Angular 应用程序进行服务器端渲染。

该存储库将托管各种工具,如引擎,以与各种后端(NodeJS,ASP.NET 等)集成,还有额外的模块和示例,以帮助您开始使用服务器端渲染。

环球项目由社区贡献推动。请将您的 Pull 请求发送给我们!

入门

* NodeJS :: Example repo

  • 最小的通用例子

* ASP.NET Core :: Universal Starter repo

  • Installation: 克隆上面的回购,npm i && dotnet restore (VStudio 将在打开项目时自动运行)
  • 启动包含 VSCode 和 VStudio 的文件以自动运行/调试(按 F5)。

来自此 repo 的软件包在@nguniversal下发布为作用域软件包

通用“陷阱”

移至/docs/gotchas.md

路线图

已完成

  • 将平台 API 集成到核心中
  • 支持服务器上的标题和元服务
  • 开发 Express,ASP.NET Core,Hapi 引擎
  • 对 Universal 的 Angular CLI 支持
  • 在服务器上提供 DOM 实现
  • renderModule * 中的钩子在渲染到字符串之前做东西
  • 平台中的通用状态转移 API
  • Http Transfer State Module 使用 HTTP 拦截器和状态转移 API
  • 材料 2 适用于 Universal
  • 编写核心 API 的文档
  • 支持AppShell用例

进行中

  • 更好的内部性能和压力测试
  • 为 Universal 组件编写单元测试更容易
  • 更容易支持其他第三方库,如 jQuery / d3,这些库不具备通用性
  • Node.js 桥接协议与不同语言后端通信 - Django,Go,PHP 等。

规划

  • 完全客户端补液策略,重用在服务器上呈现的 DOM 元素/ CSS

从 Angular2-Universal 升级

如果你来自最初的 angular2-universal(2.x), 这里有一些有用的步骤,可以将你的应用程序移植到 Angular 4 和 platform-server。

去这里找指南

预启动

在客户端 Web 应用程序加载到客户端应用程序之前控制服务器呈现的页面和传输状态。 回购

什么名字?

我们认为,当引用在比浏览器更多的环境中运行的 JavaScript 应用程序时,使用“通用”一词是正确的。 (受[Universal JavaScript]启发(https://medium.com/@mjackson/universal-javascript-4761051b7ae9))

环球团队

执照

MIT License