通用角度¶
目录¶
介绍¶
Angular Universal 项目是一个社区驱动的项目,旨在扩展 Angular(平台服务器)的核心 API,使开发人员能够在各种场景中对 Angular 应用程序进行服务器端渲染。
该存储库将托管各种工具,如引擎,以与各种后端(NodeJS,ASP.NET 等)集成,还有额外的模块和示例,以帮助您开始使用服务器端渲染。
环球项目由社区贡献推动。请将您的 Pull 请求发送给我们!
入门¶
- 最小的通用例子
* ASP.NET Core :: Universal Starter repo
- Installation: 克隆上面的回购,
npm i && dotnet restore
(VStudio 将在打开项目时自动运行) - 启动包含 VSCode 和 VStudio 的文件以自动运行/调试(按 F5)。
包¶
来自此 repo 的软件包在@nguniversal下发布为作用域软件包
- @nguniversal/common
- @nguniversal/express-engine
- @nguniversal/aspnetcore-engine
- @nguniversal/hapi-engine
- @nguniversal/module-map-ngfactory-loader
- @nguniversal/socket-engine
通用“陷阱”¶
路线图¶
已完成¶
- 将平台 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))
环球团队¶
- Adam Plumer 和 Fabian Wiles - 目前的维护者
- PatrickJS 和 Jeff Whelpley - Founders of the Angular Universal project. (通用渲染也称为PatrickJS-ing)
- Mark Pieszak - 贡献者和传播者,ASP.NET 核心引擎
- Jason Jean - CLI 的 Express 引擎和 Universal 支持
- Wassim Chegham - Hapi 引擎开发人员和传播者。
- Angular for the rest of us
- Angular outside the browser
- Jeff Cross - 福音传道者和表演顾问
- Vikram Subramanian 和 Alex Rickabaugh - Angular 核心 API