This project:
- is a pre-rendered Angular site template using Angular Universal
- uses Sanity.io as the project's headless CMS
- creates a Netlify Function to grab data from Sanity.io
- sets up Angular components and a service to use and display the Sanity data
With this project you can also:
- set up CI/CD to Netlify's Edge
- build out the site as soon as there is new data entered into Sanity.io
I explain that all in [this blog post](coming soon!).
To skip all this you could also just click this button:
Sanity.io Backend
- in
/backendrunsanity start - head to
http://localhost:3333/
Angular + Netlify Parts
- click the 'Use this template' or clone locally with 'git clone https://github.com/tzmanics/serverless-stripe`
- install with
npm i - install the Netlify CLI globally
npm i netlify-cli -g - run
netlify initto connect to your Netlify account &ntl opento go to the project dashboard - add your Sanity.io env vars via Site Settings/Build & Deploy/Environment/'Edit variables'
SANITY_DATASETSANITY_PROJECT_IDSANITY_TOKEN
- run
netlify devto start a local instance connecting to your functions and env vars that can be seen athttp://localhost:8888/
Sanity.io Backend
- in
/backendrunsanity deployto initially deploy and deploy changes to your Sanity.io instance
Angular + Netlify Parts
- install the Netlify CLI
npm i netlify-cli -g - run
netlify initto setup the project on Netlify & deploy it! (the /netlify.toml file has the information Netlify needs to deploy your app) - hooking the project up to Netlify will automatically set up CI/CD so every commit push will deploy the site as well as give deployment preview
- run
netlify opento open the project dashboard, under the 'Functions' tab you can find the endpoint for your function as well as see all the logs.
- this project has a skeleton for a starter Commerce application that can be used as an app shell that can pre-rendered and then hydrated with Netlify Function.
- there are also files added to implement Angular Universal so even though we are only using the pre-render functionalities of AU you are set up to take advantage of the whole SSR technology
- the only other additional file is the Netlify configuration file which tells Netlify how and what to deploy to the CDN :)
Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.
Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.
Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.
Run ng test to execute the unit tests via Karma.
Run ng e2e to execute the end-to-end tests via Protractor.
To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.