2016-06-01 1 views
10

(Я новичок на планете Angular2 (эмигрировал из умирающей планеты
Flex/Actionscript, поэтому, пожалуйста, простите этот наивный вопрос)
angular-cli "ng build" не создает рабочий проект?

ли я сделал фатальную ошибку, думая, что после запуска «нг сборки» команда в моем проекте от Angular CLi, у меня получится работающий проект в каталоге «dist» - который я мог бы просто запустить в браузере, установленном на сервере?

В итоге у меня есть папка, названный материал и т. д. Есть ли здесь какой-то шаг?

enter image description here

+1

Вы не недопонимание. Вы должны иметь возможность выгружать содержимое папки 'dist' на ваш веб-сервер и иметь рабочий сайт. –

+0

Если вы хотите развернуть сервер разработки для локального запуска сайта, вы должны использовать 'ng serve' вместо' ng build'. –

+0

Я не смотрел на все в 'index.html', но я предполагаю, что он не будет загружаться должным образом из файловой системы, так что да, вам понадобится сервер для производственного приложения. –

ответ

35

Я новичок в угловой, и просто столкнулся с той же проблемой. Вы можете открыть и запустить файл index.html в браузере непосредственно из файловой системы, но вы должны изменить путь HREF атрибута базы в Index.html от:

<base href="/"> 

к:

<base href="./"> 
+1

Должны ли мы сохранить или удалить это при развертывании на реальном сервере? Вероятно, это должно быть замечено угловой командой 2 dev – realtebo

+0

Возможно, эта «ошибка» существует только в системе Linux? Просто пытайтесь устранить неполадки. – Blauhirn

+0

Последняя система macOSsierra в это время. Это исправлено для меня в локальном хосте: 4200 и live production server (Apache). Этот ответ положил конец моему очень длинному поиску. Спасибо!!! Также @realtebo я полностью согласен, что это должно быть доведено до команды angular-cli dev! – totallytotallyamazing

0

Вам необходимо запустить это в CLI:

# This will create a production version in "dist" folder 
ng build -prod 

# This will create a production version in a custom folder 
ng build -prod --output-path=custom 
4

Я думал, что перейду через свой ответ из аналогичного вопроса. Original Post.
Я не думаю, что OP является дубликатом, поэтому здесь;


Вы можете достичь желаемого результата с помощью следующей CMD углового Cli команды:

ng build --base-href /myUrl/

ng build --bh /myUrl/ или ng build --prod --bh /myUrl/

Это меняет <base href="/"> к <base href="/myUrl/"> в построен только для версии, который был идеален для наших изменений в окружающей среде между разработкой и производством. Лучшая часть не была базой кода, которая требует изменения с помощью этого метода.


Подводя итог, оставьте свой index.html base href as: <base href="/">, затем запустите ng build --bh ./ в угловом cli, чтобы сделать его относительным путем, или замените ./ на все, что вам нужно.

This является официальным angular-cli документацией, относящейся к использованию.