universal

Universal javascript support for Angular

  • Owner: angular/universal
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

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

Angular Universal

Angular Universal

Table of Contents


Introduction

The Angular Universal project is a community driven project to expand on the core APIs from Angular (platform-server) to enable developers to do server side rendering of Angular applications in a variety of scenarios.

This repository will host the various tools like engines to integrate with various backends(NodeJS, ASP.NET etc.) and also extra modules and examples to help you started with server side rendering.

The Universal project is driven by community contributions. Please send us your Pull Requests!

Getting Started

Angular Universal Guide

Version 8

Follow this upgrade guide if you are upgrading an exsiting Universal project to Angular version 8 - Guide

Packages

The packages from this repo are published as scoped packages under @nguniversal

Universal "Gotchas"

Moved to /docs/gotchas.md

Roadmap

Completed

  • Integrate the platform API into core
  • Support Title and Meta services on the server
  • Develop Express, ASP.NET Core, Hapi engines
  • Angular CLI support for Universal
  • Provide a DOM implementation on the server
  • Hooks in renderModule* to do stuff just before rendering to string
  • Generic state transfer API in the platform
  • Http Transfer State Module that uses HTTP interceptors and state transfer API
  • Material 2 works on Universal
  • Write documentation for core API
  • Support AppShell use cases
  • Development server/watch mode builder with livereload for CLI

In Progress

  • Static site rendering

Planning

  • Full client rehydration strategy that reuses DOM elements/CSS rendered on the server
  • Better internal performance and stress tests
  • Make it easier to write unit tests for Universal components
  • Node.js bridge protocol to communicate with different language backends - Django, Go, PHP etc.

Preboot

Control server-rendered page and transfer state before client-side web app loads to the client-side-app. Repo

What's in a name?

We believe that using the word "universal" is correct when referring to a JavaScript Application that runs in more environments than the browser. (inspired by Universal JavaScript)

Universal Team

License

MIT License

Main metrics

Overview
Name With Ownerangular/universal
Primary LanguageTypeScript
Program languageTypeScript (Language Count: 6)
Platform
License:MIT License
所有者活动
Created At2015-06-24 01:07:44
Pushed At2023-11-28 16:08:35
Last Commit At
Release Count137
Last Release Name16.2.0 (Posted on )
First Release Name5.0.0-beta.8 (Posted on )
用户参与
Stargazers Count4k
Watchers Count140
Fork Count482
Commits Count3.2k
Has Issues Enabled
Issues Count1332
Issue Open Count0
Pull Requests Count1567
Pull Requests Open Count0
Pull Requests Close Count281
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private