Jak mogę zezwolić na dostęp poza hostem lokalnym w Angular2? Mogę łatwo nawigować pod adresem, localhost:3030/panel
ale nie mogę nawigować, gdy piszę mój adres IP, taki jak 10.123.14.12:3030/panel/
.
Czy mógłbyś mi pozwolić, jak to naprawić? Nie używam npm
(zarządzanie projektem węzła - instalacja węzła / uruchomienie węzła) do zainstalowania i uruchomienia projektu.
Jeśli chcesz, mogę podać moje package.json
i index.html
.
angular
typescript
ng-build
Tonyukuk
źródło
źródło
Odpowiedzi:
Używanie
ng serve --host 0.0.0.0
pozwoli ci połączyć się zng serve
używając twojego adresu IP zamiastlocalhost
.EDYTOWAĆ
W nowszych wersjach CLI musisz zamiast tego podać swój lokalny adres IP
EDYCJA 2
W nowszych wersjach CLI (myślę, że v5 i nowsze) możesz
0.0.0.0
ponownie użyć jako adresu IP, aby hostować go dla wszystkich w sieci, z którymi może rozmawiać.źródło
ng serve --open --host 0.0.0.0 --disable-host-check
Użytkownicy komputerów Mac:
ng serve --host 192.168.1.x
Następnie musisz mieć możliwość przeglądania swojej strony na innych urządzeniach
192.168.1.x:4200
.źródło
Uruchom polecenie
Spowoduje to wyłączenie sprawdzania hosta i umożliwi dostęp z zewnątrz (zamiast lokalnego) z adresem IP
źródło
ng serve --host 0.0.0.0
dla mnie działa dobrze. Co ma zrobić kontrola hosta?disabled-host-check
inaczej, dostałem wiadomość „Invalid Host header”Możesz użyć następującego polecenia, aby uzyskać dostęp za pomocą swojego adresu IP.
Jeśli używasz npm i chcesz uniknąć uruchamiania polecenia za każdym razem, możemy dodać następujący wiersz do pliku package.json w sekcji skryptów .
Następnie możesz uruchomić aplikację za pomocą poniższego polecenia, aby uzyskać dostęp z innego systemu w tej samej sieci.
źródło
Po prostu edytuję
angular.json
plik w moim projekcie, jak poniżej i działa...
...
źródło
możesz również przeszukać cały ruch HTTP przepływający przez twoje tunele za pomocą ngrok , a następnie możesz ujawnić za pomocą
ngrok http --host-header=rewrite 4200
źródło
Otwórz cmd i przejdź do lokalizacji projektu, tj. Gdzie uruchamiasz npm install lub ng służy do projektu.
a następnie uruchom polecenie -
ng serve --host 10.202.32.45
gdzie10.202.32.45
jest twój adres IP.Będziesz mógł uzyskać dostęp do swojej strony,
10.202.32.45:4200
gdzie 4200 to Twój numer portu.Uwaga: jeśli obsługujesz swoją aplikację za pomocą tego polecenia, nie będziesz mieć do niej dostępu
localhost:4200
źródło
Problemem był Firewall. Jeśli korzystasz z systemu Windows, upewnij się, że węzeł jest dozwolony
źródło
Szybkie rozwiązanie, które może komuś pomóc:
Dodaj tę linię jako wartość początkową
ng serve --host 0.0.0.0 --disable-host-check
w swoimpackage.json
dawny:
A potem po prostu zrób
start
lubnpm run start
będziesz mieć dostęp do swojego projektu z innych lokalnych adresów IP.
źródło
Jeśli napotkasz ten sam problem w Docker, możesz użyć poniżej
CMD
w Dockerfile.Lub uzupełnij plik Dockerfile
źródło
Utwórz
proxy.conf.json
i wklej tę konfiguracjęZastąpić:
Uruchom z CLI:
źródło
dla mnie działa przy użyciu „ng serv --open --host 0.0.0.0”, ale jest ostrzeżenie
OSTRZEŻENIE: jest to prosty serwer do lokalnego testowania lub debugowania aplikacji Angular. Nie został sprawdzony pod kątem problemów z bezpieczeństwem.
Powiązanie tego serwera z otwartym połączeniem może spowodować naruszenie bezpieczeństwa aplikacji lub komputera. Użycie innego hosta niż ten przekazany do flagi „--host” może spowodować problemy z połączeniem w sieci Web. W takim przypadku może być konieczne użycie „--disableHostCheck”.
źródło
Żaden plik package.json nie jest konieczny do zmiany.
U mnie działa na:
Host: http: // localhost: 5999 /
źródło
Użyj
ng serve --host<Your IP> --port<Required if any>
.ng służyć --host = 192.111.1.11 --port = 4545.
Możesz teraz zobaczyć poniższą linię na końcu kompilacji.
źródło
Dla osób korzystających z node project manager wystarczy dodać ten wiersz do package.json. Dla użytkowników kątowych CLI odpowiedź mast3rd3mon jest prawdziwa.
Możesz dodać
to package.json
źródło