Risposte:
Nella versione più recente di angolare, questo si trova nel angular.jsonfile di configurazione . Esempio:
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"projects": {
"my-project": {
"architect": {
"serve": {
"options": {
"port": 4444
}
}
}
}
}
}
Puoi anche usareng config per visualizzare / modificare i valori:
ng config projects["my-project"].architect["serve"].options {port:4444}
Nelle versioni precedenti, questo era impostatoangular-cli.json sotto l' defaultselemento:
{
"defaults": {
"serve": {
"port": 4444,
"host": "10.1.2.3"
}
}
}
A partire da ora questa funzione non è supportata, tuttavia se questa è una cosa che ti disturba un'alternativa sarebbe nel tuo pacchetto.json ...
"scripts": {
"start": "ng serve --host foo.bar --port 80"
}
In questo modo puoi semplicemente correre npm start
Un'altra opzione se si desidera eseguire questa operazione su più progetti è quella di creare un alias, che è possibile nominare potenzialmente ngserveche eseguirà il comando sopra.
È possibile configurare la porta HTTP predefinita e quella utilizzata dal server LiveReload con due opzioni della riga di comando:
ng serve --host 0.0.0.0 --port 4201 --live-reload-port 49153
Ciò è cambiato nell'ultima CLI angolare.
Il nome del file è cambiato in angular.jsone anche la struttura è cambiata.
Questo è ciò che dovresti fare:
"projects": {
"project-name": {
...
"architect": {
"serve": {
"options": {
"host": "foo.bar",
"port": 80
}
}
}
...
}
}
Un'altra opzione è eseguire il ng servecomando con l' --portopzione es
ng serve --port 5050 (ovvero per la porta 5050)
In alternativa, il comando ng serve --port 0:, assegnerà automaticamente una porta disponibile per l'uso.
--port 0 bit era una buona informazione ma non sono sicuro che risponda alla domanda.
Abbiamo due modi per modificare il numero di porta predefinito in Angolare.
Il primo modo è tramite il comando CLI:
ng serve --port 2400 --open
Il secondo modo è dalla configurazione nella posizione:
ProjectName\node_modules\@angular-devkit\build-angular\src\dev-server\schema.json.
Apporta modifiche al file schema.json.
{
"title": "Dev Server Target",
"description": "Dev Server target options for Build Facade.",
"type": "object",
"properties": {
"browserTarget": {
"type": "string",
"description": "Target to serve."
},
"port": {
"type": "number",
"description": "Port to listen on.",
"default": 2400
},
Puoi salvarli in un file, ma devi metterlo .ember-cli(almeno al momento); vedi https://github.com/angular/angular-cli/issues/1156#issuecomment-227412924
{
"port": 4201,
"liveReload": true,
"host": "dev.domain.org",
"live-reload-port": 49153
}
modifica: ora puoi impostarli in angular-cli.json a partire da commit https://github.com/angular/angular-cli/commit/da255b0808dcbe2f9da62086baec98dacc4b7ec9 , che è nella build 1.0.0-beta.30
Se si prevede di eseguire il progetto angolare in host / IP personalizzati e Porta, non è necessario apportare modifiche al file di configurazione
Il seguente comando ha funzionato per me
ng serve --host aaa.bbb.ccc.ddd --port xxxx
Dove,
aaa.bbb.ccc.ddd --> IP you want to run the project
xxx --> Port you want to run the project
Esempio
ng serve --host 192.168.322.144 --port 6300
Il risultato per me è stato
Se sei su Windows puoi farlo in questo modo:
ng serve --host 192.168.1.2 --open
Questo non è un modo standard ma comodo da usare (cosa che sento).
ecco cosa ho inserito in package.json (eseguendo angular 6):
{
"name": "local-weather-app",
"version": "1.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve --port 5000",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
Quindi un semplice npm start inserirà il contenuto di start. Potrebbe anche aggiungere altre opzioni ai contenuti
inserisci qui la descrizione dell'immagine
Solo una cosa che devi fare. Digita questo nel prompt dei comandi: ng serve --port 4021 [o qualsiasi altra porta che desideri assegnare, ad esempio: 5050, 5051 ecc.]. Non è necessario apportare modifiche ai file.
0.0.0.0invece dell'ip host da ascoltare su tutti i dispositivi Ethernet. In questo modo è possibile utilizzare sia l'host locale sia l'indirizzo IP pubblico.