- account: use CSR.
- experiences: use SSR.
- checkout: use CSR.
Use npm run start
to run all projects.
Note: GitHub Actions will do automatic deployment when there is a change in specific folder.
For example, if there is a new commit on folder projects/account
, it will re-deploy the account site.
- build with
$ npx ng build --project account
- deploy with
$ npx firebase-tools deploy --only hosting:account
- build with
$ npx ng build --project experiences
- deploy with
$ npx firebase-tools deploy --only hosting:experiences
- build with
$ npx ng build --project checkout
- deploy with
$ npx firebase-tools deploy --only hosting:checkout
- add with
$ npx ng add @nguniversal/express-engine --project account
-
-
run in Cloud Shell
$ gcloud projects add-iam-policy-binding $GCP_PROJECT_ID --member=serviceAccount:GCP_SVC_ACC --role=roles/cloudfunctions.developer gcloud projects add-iam-policy-binding $GCP_PROJECT_ID --member=serviceAccount:${GCP_SVC_ACC} --role=roles/iam.serviceAccountUser
-
deploy with CI/CD
-
Note: Before Angular 17, SSR is not production ready. This is because $ ng serve
does not enable SSR by default.
The consequence is that we do not know the code below does not work with SSR.
app.module.ts
import { getAnalytics } from 'firebase/analytics';
const analytics = getAnalytics(app);
The solution is to use $ ng run <application>:serve-ssr
Run npx firebase emulators:start --only functions
Component auth has not been registered yet
Check if @angular/fire
and firebase
have mismatch version with npm ls @firebase/app
.
- remove
node_modules
andpackage-lock.json
. - Install the version used by
@angular/fire
.
reference: firebase/firebase-js-sdk#6019
This project was generated with Angular CLI version 13.3.11.
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The application 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.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI Overview and Command Reference page.