Just playing around with Google Cloud Platform to see how easily we can build a full stack Angular application with an Express backend hosted on GCP.
To use this structure, make a new GCP project and npm run frontend:deploy and
npm run backend:deploy
This project was generated with Angular CLI version 13.3.6.
- Install
gcloud. - Log in with
gcloud init. - Run
npm run frontend:deployto deploy the frontend. - Run
npm run backend:deployto deploy the backend.
Deploying each end probably fails because Google Cloud runs npm start, which
doesn't know whether to run the frontend or the backend. Update each service's
"container arguments" to be frontend or backend, which gets passed to
npm start to pick the correct service.
You likely also need to bump memory requirements on the frontend to 1-2 GB for Angular to build successfully.
- Run
npm run frontend:deployto deploy the frontend. - Run
npm run backend:deployto deploy the backend.
Production instance runs at https://frontend-glud4nxwta-uw.a.run.app/ (if I'm still paying to keep it up).
Use npm run frontend:dev to start a live-reloading dev server of the Angular
application.
In a separate terminal, use npm run backend:dev to start the backend server in
watch mode.
Both servers are necessary to run the application locally.
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.