Skip to content
Server-side rendering and Prerendering for Angular
TypeScript Starlark JavaScript Shell Other
Branch: master
Clone or download

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci ci: remove cache key fallback Mar 9, 2020
.github chore: replace vikram with keen in codeowners Jan 22, 2020
docs build: Update publish script Feb 21, 2020
integration build: update jasmine-spec-reporter to version 5.0.2 Apr 25, 2020
modules fix(prerender): use browser builder's index option in prerender builder Apr 15, 2020
scripts build: Update publish script Feb 21, 2020
tools build: update version of Angular packages Mar 26, 2020
.bazelignore feat(hapi-engine): add schematics (#1057) Dec 25, 2018
.bazelrc build: Change --symlink_prefix to dist/ Feb 20, 2020
.editorconfig chore(.editorconfig): remove newline for .json Aug 7, 2015
.gitattributes chore: force LF as linebreak-style when checking out the repo (#1227) Sep 5, 2019
.gitignore build: update Bazel to use fine-grained deps (#1083) Dec 23, 2018
.npmignore
BUILD.bazel build: update to latest bazel and angular (#1155) Apr 25, 2019
CHANGELOG.md Update CHANGELOG.md Sep 27, 2019
CONTRIBUTING.md Update CONTRIBUTING.md Sep 27, 2019
LICENSE chore: bump year (#1115) Jan 1, 2019
README.md 📝 docs: fix existing typo in readme Apr 10, 2020
WORKSPACE build: update @bazel/hide-bazel-files to version ~1.6.0 Apr 12, 2020
angular-metadata.tsconfig.json build: update angular dependencies Sep 12, 2019
angular.tsconfig.json test(e2e): add e2e testing (#1013) Jun 10, 2018
package.json build: update @bazel/ibazel to version ^0.13.0 Apr 25, 2020
publish.sh build: Update publish script Feb 21, 2020
renovate.json ci: add renovate configuration (#1283) Oct 20, 2019
tsconfig.json build: remove error for jasmine typings Jan 4, 2020
tslint.json build: add some tsrule to aid consistence and avoid code smells Dec 24, 2019
yarn.lock build: update @bazel/ibazel to version ^0.13.0 Apr 25, 2020

README.md

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 existing 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

You can’t perform that action at this time.