Seed project for Angular Universal apps featuring Server-Side Rendering (SSR), Webpack, CLI scaffolding, dev/prod modes, AoT compilation, HMR, SCSS compilation, lazy loading, config, cache, i18n, SEO, and TSLint/codelyzer
Please support this project by simply putting a GitHub star. Share this library with friends on twitter and everywhere else you can.
universal
is a seed project for Angular Universal apps following the common patterns and best practices
in file and application organization, providing the following features:
You can view the live app at http://universal.buraktasci.com.
You can install universal
by simply forking the repo:
# clone the repo
$ git clone https://github.com/fulls1z3/universal.git [your-project-name]
$ cd [your-project-name]
Once you have cloned the repo, you can follow these steps to allow sync changes made in this repo with your fork:
# set up `origin`
$ git remote set-url origin [your-fork-repo]
# set up `upstream` to sync future changes
$ git remote add upstream https://github.com/fulls1z3/universal.git
# verify the upstream repo specified for your fork
$ git remote -v
origin https://github.com/YOUR_USERNAME/[your-fork-repo].git (fetch)
origin https://github.com/YOUR_USERNAME/[your-fork-repo].git (push)
upstream https://github.com/fulls1z3/universal.git (fetch)
upstream https://github.com/fulls1z3/universal.git (push)
# initial push for the fork
$ git push
Now, you can create a new directory (ex: src/app/shared
) to build your codebase out, while benefiting from the
client framework located at the src/app/framework
directory.
In order to merge the latest upstream changes, simply follow:
# fetch the latest upstream
$ git fetch upstream
# merge the upstream changes
$ git merge upstream/master
then handle any conflicts, and go on with building your app.
Below are the scripts to dev, build, and test this seed project:
# use `yarn` to install the deps
$ yarn
# dev server
$ ng serve
# dev server (HMR-enabled)
$ ng serve --c hmr
# dev server (AoT compilation)
$ ng serve --prod
# dev server (SSR)
$ yarn start:ssr
# dev server (SSR & AoT compilation)
$ yarn start:ssr:prod
And then,
http://localhost:4200/
for the SPA (browser) build.http://localhost:4000/
for the SSR (universal) build.The app will automatically re-compile if you change any of the source files.
# development build
$ ng build
# production build
$ ng build --prod
# development build (SSR)
$ yarn build:ssr
# production build (SSR)
$ yarn build:ssr:prod
The build artifacts will be stored in the dist/
directory.
# run unit tests
$ ng test
If you want to file a bug, contribute some code, or improve documentation, please read up on the following contribution guidelines:
The MIT License (MIT)
Copyright © 2018 Burak Tasci