- Scaffolded Angular 21 app in frontend/ (standalone, routing, scss) - Multi-stage Dockerfile: node:22-alpine build → nginx:alpine serve - nginx.conf with SPA routing fallback, API proxy, gzip, asset caching - .dockerignore excludes node_modules, dist, .angular, spec files - docker build → PASS, container serves UI on port 80 (HTTP 200) - Final image: 92.9MB (nginx:alpine)
43 lines
978 B
JSON
43 lines
978 B
JSON
{
|
|
// For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558
|
|
"version": "2.0.0",
|
|
"tasks": [
|
|
{
|
|
"type": "npm",
|
|
"script": "start",
|
|
"isBackground": true,
|
|
"problemMatcher": {
|
|
"owner": "typescript",
|
|
"pattern": "$tsc",
|
|
"background": {
|
|
"activeOnStart": true,
|
|
"beginsPattern": {
|
|
"regexp": "Changes detected"
|
|
},
|
|
"endsPattern": {
|
|
"regexp": "bundle generation (complete|failed)"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "npm",
|
|
"script": "test",
|
|
"isBackground": true,
|
|
"problemMatcher": {
|
|
"owner": "typescript",
|
|
"pattern": "$tsc",
|
|
"background": {
|
|
"activeOnStart": true,
|
|
"beginsPattern": {
|
|
"regexp": "Changes detected"
|
|
},
|
|
"endsPattern": {
|
|
"regexp": "bundle generation (complete|failed)"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|