Запустите 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
как описано в ссылке