@ng-toolkit/universal

Adds Angular Universal support for any Angular CLI project

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@ng-toolkit/universal
1,1232098.1.04 years ago6 years agoMinified + gzip package size for @ng-toolkit/universal in KB

Readme

Maintainability Test Coverage Build Status Dependency Status Backers on Open Collective Sponsors on Open Collective npm version
Universal support for your Angular application Tweet

Star it and share with others!

This is part of the @ng-toolkit project. Check main page for more tools
Add Server Side Rendering support (Angular Universal) to your Angular project. Check deep overview article on Medium

Live demo

Angular Universal PWA on AWS Lambda + API Gateway

Getting started

Create or navigate into your project:
ng new myApp
cd myApp
apply package
ng add @ng-toolkit/universal [--http false]

Run options

Run server locally

npm run build:ssr
npm run serve:ssr

Prerender Angular app

npm run build:prerender
npm run serve:prerender

Options

If you don't want to use TransferHttpCacheModule indicate it by adding --http false flag.
Adding new component:
ng g c myComponent --module app

You can chain this package with:
Check out tutorial by Gary Sinon:
How to start project with ng-toolkit

Working with window and localStorage objects

This package is shipped with the wrapper for the window and localStorage objects. Whenewer you need to use it, just inject it into your component or service:
import { WINDOW, LOCAL_STORAGE } from @ng-toolkit/universal

/*
    class/service declaration and decorator
*/

constructor(@Inject(WINDOW) private window:Window, @Inject(LOCAL_STORAGE) private localStorage: any) {
    console.log(this.window);
}

If you did not use Angular CLI to install this package, you need to import NgtUniversalModule in your shared app module:
@NgModule({
  imports:[
    /* other imports*/
    NgtUniversalModule
  ]
})
export class AppModule { }

Looking for something more?

Feel free to create issue with your feature request

Funding

You can support development of this project via:

Open Collective Backers

Support this project with a monthly donation and help us continue our activities. Become a backer

Open Collective Sponsors

Become a sponsor and get your logo on our README on GitHub with a link to your site. Become a sponsor

Credentials

  • Checkout my home page and find out more about me