Запустите Angular2 как статическое приложение в браузере без сервера

Как я понимаю концепцию Angular2 - это пересылка файлов TypeScript в .js файлы. В принципе, должно быть возможно компилировать, упаковывать, а затем запускать это приложение Angular2 как статическое приложение из ведра AWS S3, GitHub или любого другого статического источника.

Если я запустил приложение Angular2 на сервере node (с командой angular -cli "ng serve" ), он занимает 500 МБ ОЗУ на сервере - это "Привет, обычный!". - это действительно так! Какая польза от этой структуры, а не от React, например, которая нуждается только в браузере.

Я не могу найти ничего полезного при обслуживании приложения Angular2 как статического скомпилированного HTML + JS.

Может быть, вы можете помочь мне понять это и решить?

Спасибо большое!

Maris

Ответы

Ответ 1

Выполните команду BUILD для BUNDLE/build

нг сборка

или для производственной сборки/комплекта

ng build --prod

Он соберет ваше приложение в распространяемое приложение.

Когда он закончится, найдите в корневом каталоге своих приложений папку dist, в которой будет все, что нужно вашему приложению для запуска вне сервера узлов, скажем, как экземпляр tomcat.

Обновление

Благодаря комментарию @Maris убедитесь, что пути к файлам относятся к текущему каталогу, а не к корневому каталогу.

Просто запустите эту команду, чтобы изменить базовый элемент href в вашем index.html.

ng build --prod --base-href./

Ответ 2

Это отличный способ экспортировать ваше приложение, просто нужно немного изменить открыть index.html и измените

<base href="/">

к

<base href="./">

Ответ 3

Это работает для меня:

$ ng build --prod --base-href ./

Ответ 4

Невозможно, я думаю, во время ошибки в современных браузерах:

Неподготовлено (в обещании): SecurityError: не удалось выполнить 'replaceState' в 'History':...

это жаль

Ответ 5

Как обслуживать папку Angular 2 dist index.html для обслуживания папки Angular 2 dist index.html

Если это не очевидно для всех, и это было не для меня. Если вы хотите запустить локальную папку dist после ее создания и исправления базы ref, используйте что-то вроде http-сервера и укажите его в папку dist, а не какой-либо конкретный файл. В окне cmd в папке проекта

c:\user\myProject > http-server./dist

как описано в ссылке