angular-sanity
✧٩(•́⌄•́๑) Angular + Sanity.io
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!).
Setup
To skip all this you could also just click this button:
Local Setup
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_DATASET -
SANITY_PROJECT_ID -
SANITY_TOKEN
-
-
run
netlify devto start a local instance connecting to your functions and env vars that can be seen athttp://localhost:8888/
Productions Setup
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.
The pieces
- 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 🙂
Angular CLI Infos
Development server
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.
Code scaffolding
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.
Build
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.
Running unit tests
Run ng test to execute the unit tests via Karma.
Running end-to-end tests
Run ng e2e to execute the end-to-end tests via Protractor.
Further help
To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.