2016-06-01 12 views
10

(jestem nowy na planecie Angular2 (wyemigrował z umierającej planety
Flex/ActionScript więc proszę wybaczyć to naiwne pytanie)
angular-cli "ng build" nie tworzy działającego projektu?

Czy popełniłem fatalny błąd myśląc, że po uruchomieniu „ng build” komenda na moim projekcie z Angular CLi, skończyłbym z działającym projektem w katalogu "dist" - który mógłbym uruchomić w przeglądarce, umieścić na serwerze?

Kończę z folderem pełnym poprawnie Nazwy rzeczy itp. Czy jest jakiś krok, którego tu brakuje?

enter image description here

+1

Nie jesteś nieporozumieniem. Powinieneś być w stanie zrzucić zawartość folderu "dist" na wybrany przez siebie serwer i mieć działającą stronę. –

+0

Jeśli chcesz uruchomić serwer programistyczny, aby uruchomić lokalnie lokację, powinieneś użyć 'ng serve' zamiast' ng build'. –

+0

Nie zajrzałem do wszystkiego w "index.html", ale domyślam się, że nie załaduje się poprawnie z systemu plików, więc tak, potrzebujesz serwera do aplikacji produkcyjnej. –

Odpowiedz

35

Jestem nowy kątowy, i po prostu wpadł na ten sam problem. można otworzyć i uruchomić plik index.html w przeglądarce bezpośrednio z systemu plików, ale trzeba edytować ścieżkę atrybutu href bazowego w index.html od:

<base href="/"> 

do:

<base href="./"> 
+1

Czy musimy zachować lub usunąć to przy wdrażaniu na prawdziwym serwerze? Prawdopodobnie powinno to zostać zauważone w kanciastym zespole 2 dev – realtebo

+0

Czy to możliwe, że ten "błąd" istnieje tylko w systemie Linux? Po prostu próbuję rozwiązać problem. – Blauhirn

+0

Najnowszy system macOSsierra w tej chwili. Naprawiono to dla mnie w localhost: 4200 i serwerze produkcji na żywo (Apache). Ta odpowiedź zakończyła moje bardzo długie poszukiwania. Dziękuję Ci!!! Również @realtebo Całkowicie zgadzam się, że to powinno zostać przekazane zespołowi programistów kątowych-cli! – totallytotallyamazing

0

Musisz uruchomić ten w 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

Pomyślałem, że przekażę swoją odpowiedź z podobnego pytania. Original Post.
Nie sądzę, że OP jest duplikatem, więc tutaj;


Można osiągnąć pożądany wynik z następującym cmd komendy kątowe-cli:

ng build --base-href /myUrl/

ng build --bh /myUrl/ lub ng build --prod --bh /myUrl/

Zmienia <base href="/"> do <base href="/myUrl/"> w wersji zbudowany tylko który był idealny dla naszej zmiany w środowisku pomiędzy rozwojem a produkcją. Najlepsza część to brak podstawy kodu wymaga zmiany za pomocą tej metody.


Podsumowując, pozostaw bazę index.html jako: <base href="/">, a następnie uruchom ng build --bh ./ w kanciastym-cli, aby była względną ścieżką lub zamień ./ według potrzeb.

This to oficjalna dokumentacja odnosząca się do użytkowania.

Powiązane problemy