Angular

Розгорніть свій Angular застосунок

ng build produces static files either way, but exactly where it puts them changed with Angular 17's new esbuild-based application builder — worth checking before you point the CLI at the wrong folder.

steps
  1. 01

    Build the app

    Run "ng build" (or "npm run build"). Angular compiles and minifies the project into static output — no dev server, no watch mode.

  2. 02

    Check which output layout you have

    Angular 17 and newer (application builder): output lands in "dist/<project-name>/browser". Angular 16 and older: it's directly in "dist/<project-name>". Look for the folder that has an index.html at its top.

  3. 03

    Розгорніть

    Запустіть "npx harvis deploy dist/<project-name>/browser" у корені проєкту. Для цього першого розгортання не потрібні ні конфігурація, ні вхід — ви одразу отримаєте живу URL-адресу плюс приватне посилання для підтвердження, щоб коли завгодно прив'язати сайт до безкоштовного акаунта.

Розгорніть Angular однією командою

Зберіть проєкт, а потім передайте папку з результатом harvis. Акаунт для першого розгортання не потрібен — ви отримаєте живе посилання й приватне посилання для підтвердження, щоб керувати сайтом пізніше.

terminal
ng build
npx harvis deploy dist/<project-name>/browser

Хочете перетягувати файли замість терміналу? Зберіть проєкт, а потім перетягніть папку з результатом сюди і опублікуйте так само.

git hook

Deploy Angular on every git push

The command above is one you will run again after every change. A git hook runs it for you: this one already points at dist/<project-name>/browser, the folder Angular builds into.

The folder holding the finished site. "." is the repo root, which is right for hand-written HTML; a static-site generator writes somewhere else.

pre-push fires on every branch and every remote, so a feature branch would publish over your live site. With this on, a push from anywhere else exits early and goes through untouched.

in your repo root
cat > .git/hooks/pre-push <<'EOF'
#!/bin/sh
set -e
ng build
harvis deploy "dist/<project-name>/browser"
EOF
chmod +x .git/hooks/pre-push

The options, the gotchas and how to share a hook with your team are on the git hook page.

Питання про розгортання Angular

The dist folder doesn't have an index.html at the top — what am I missing?

You're on Angular 17+, where the application builder nests browser output one level deeper for the browser bundle. Look inside "dist/<project-name>/browser" instead of "dist/<project-name>" — that's the folder to deploy.

Does Angular routing (RouterModule) work after deploying?

Yes, for the default hash-free routing strategy — harvis falls back to your index.html for paths it doesn't recognize as files, which is what a direct visit to a deep route needs to resolve.

Чи справді безкоштовно розгортати застосунок Angular на harvis?

Так, банківська картка не потрібна. Безкоштовні ліміти — 500 файлів і 50 МБ на сайт, чого з запасом вистачає для статичної збірки Angular. Опубліковані сайти не мають терміну дії — вони залишаються онлайн, доки ви їх не видалите.

Чи можу я використати власний домен для розгорнутого сайту Angular?

Кожен сайт отримує безкоштовну адресу harvis.page, а після підтвердження ви можете вибрати власний піддомен у панелі керування — my-app.harvis.page замість випадкового. Прив'язка домену, яким ви вже володієте (наприклад, mystore.com), поки не підтримується.

Чим це відрізняється від розгортання Angular на Vercel чи Netlify?

Vercel і Netlify побудовані навколо підключення Git-репозиторію та запуску вашої збірки на їхніх серверах, із панеллю для налаштування. harvis пропускає все це: ви збираєте проєкт локально (або у власному CI), виконуєте одну команду CLI для папки з результатом і отримуєте посилання — без налаштування проєкту й без акаунта, доки не захочете зберегти сайт за собою.

other frameworks

Розгортаєте щось інше?

Рецепт скрізь однаковий — зберіть, а потім опублікуйте результат через npx harvis deploy.