각도 포트를 4200에서 다른 포트로 변경하는 방법


254

4200 대신 5000을 사용하고 싶습니다 ..

내가 시도한 것은 루트 이름으로 파일을 만들고 ember-cli아래 코드에 따라 JSON을 넣는 것입니다.

{
   "port": 5000
}

하지만 내 앱은 여전히 ​​5000 대신 4200에서 실행됩니다.



서버도 다시 시작 했습니까?
kris

네 @ kristjanreinhold
Ashutosh Jha

이것이 귀하의 질문에 대답합니까? angular-cli
server-

답변:


426

나를 위해 일한 해결책은

ng serve --port 4401    

(4401을 원하는 숫자로 변경할 수 있습니다)

그런 다음 브라우저를 시작하십시오-> http : // localhost : 4401 /

기본적으로 두 개의 응용 프로그램이 있었고 위의 접근 방식을 통해 개발 환경에서 두 응용 프로그램을 동시에 실행할 수 있습니다.


'--port 4201'옵션은 serve 명령으로 등록되지 않았습니다
holms

5
다른 사람 (!) 참고 :하지 않는다 npm start --port 4401때문에 npm start--port 실행하지 않는 것
Jordec

1
이 답변도 참조하십시오. stackoverflow.com/a/52345586/3209545
callee.args

추가로, 당신은 동시에 추가하여 새로운 브라우저 탭에서 제공되는 앱을 열 수 있습니다 ng serve --port 4401 --open
briancollins081

114

다음 명령을 입력하여 응용 프로그램 포트를 변경할 수 있습니다.

ng serve --port 4200

또한 영구 설치를 위해 angular-cli.json 파일을 편집하여 포트를 변경할 수 있습니다

 "defaults": {
    "serve": {
      "port": 8080
    }
  }

2
최신 릴리스에서는 ng serve --port 8080 ( ":"없음, 빈 공간)을 사용해야합니다.
Julian L.

이것이 마지막 "기본"설정 인 경우 후행 쉼표를 제거해야합니다
Oswaldo Salazar

1
이것은 최신 버전의 CLI에서 변경되었습니다. 자세한 내용은 내 답변을 참조하십시오.
Nathan Friend

98

최신 버전의 CLI에서 변경 된 것 같습니다 (사용하고 있습니다 6.0.1). 내 프로젝트에 옵션을 ng serve추가하여 사용되는 기본 포트를 변경할 수있었습니다 .portangular.json

{
    "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
    "projects": {
        "my-project": {
            "architect": {
                "serve": {
                    "options": {
                        "port": 4201
                    }
                }
            }
        }
    }
}

이 예제에는 관련 속성 만 표시되어 있습니다.


그리고 나는 또한 호스트를 변경하고 싶습니다
Kunvar Singh

이것은 정말 올바른 영구적 인 답변입니다
WtFudgE

59

nodel_modules/angular-cli/commands/server.js새 버전을 설치할 때 업데이트되므로 변경 하는 것은 좋지 않습니다 angular-cli. 대신 다음 과 같이 ng serve --port 5000 을 지정해야 package.json합니다.

"scripts": {
    "start": "ng serve --port 5000"
}

--host 127.0.0.1로 호스트를 지정할 수도 있습니다.


앱을 어떻게 시작합니까? ng serve? 브라우저에서 체크인 할 때 작동하지 않는 것 같습니다localhost:5000
Ashish Ranjan

1
나는 이것이 받아 들여야 할 답변이라고 생각합니다. npm start명령으로 사용하는 사람들을 위해 거의
blobmaster

영구 구성에 스크립트 옵션을 사용하는 이유는 무엇입니까? 이것에 대한 파일이 있으며angular.json
Mozgor

59

포트 설정 위치가 두 번 변경되었습니다.

Angular CLI 1을 사용하는 경우

변화 angular-cli.json

{
  "defaults": {
    "serve": {
      "host": "0.0.0.0",
      "port": 5000 
    }
  }
}

최신 Angular CLI를 사용하는 경우

변화 angular.json

"projects": {
    "project-name": {
        ...
        "architect": {
            "serve": {
                "options": {
                  "host": "0.0.0.0",
                  "port": 5000
                }
            }
        }
        ...
    }
}

파일을 변경하지 않고

명령을 실행

ng serve --host 0.0.0.0 --port 5000

8
영구 또는 임시 솔루션이라는 두 가지 가능성을 모두 다루므로 정답으로 간주해야합니다.
Daniel Santana

1
나는 @Dan에 동의
marknt15

영구적으로 변경되는 경우,이`angular.json` 파일의 다른 곳에 새 포트를 지정해야하는지 알고 있습니까? 내 serve옵션 레벨에는 browserTarget, options및 두 개의 항목이 configurations/production있습니다. 이 새로운 port항목을 둘 다 또는 하나만 추가해야합니까 options?
Mozgor

19

아무도 최신 Angular CLI에 대한 답변을 업데이트하지 않았습니다. Angular CLI

으로 latest version각-cli.json가로 이름이 변경되는 각도-CLI의 angular.json, 당신이 편집하여 포트를 변경할 수 있습니다 angular.json파일을 당신은 지금 당 포트를 지정"project"

projects": {
    "my-cool-project": {
        ... rest of project config omitted
        "architect": {
            "serve": {
                "options": {
                    "port": 4500
                }
            }
        }
    }
}

그것에 대해 더 읽어보기 here


browserTarget항목 serve / options을 추가하는 위치 와 동일한 항목을 포함하는 'serv / configuration / production'항목 은 port어떻습니까?
Mozgor

1
Angular CLI
Dacomis

14

나는 보통이 ng set명령을 사용하여 프로젝트 레벨에 대한 Angular CLI 설정을 변경합니다.

ng set defaults.serve.port=4201

앞에서 설명한.angular.cli.json 대로 변경 사항이 변경 되고 포트 설정이 추가 됩니다.

이 변경 후에는 간단하게 사용할 수 ng serve있으며 매번 지정할 필요없이 선호하는 포트를 사용하게됩니다.


get / set은 6.0에서 구성을 위해 더 이상 사용되지 않는 것으로 보이므로 더 이상 작동하지 않습니다.
VanAlbert

10

일반적으로 npm start를 입력하는 각도 클리에서 아래 명령을 입력 할 수도 있습니다

ng serve --host "ip-address"--port "port-number"



6

이 파일로 이동

node_modules\@angular-devkit\build-angular\src\dev-server\schema.json

그리고 검색 포트

"port": {
  "type": "number",
  "description": "Port to listen on.",
  "default": 4200
},

원하는대로 기본값을 변경 하고 서버를 다시 시작하십시오.


나를 위해 일하십시오 node_modules/@angular/cli/lib/config/schema.json . 동일한 속성을 포함하는 다른 파일이 아닌 언급 된 파일을 변경해야 합니다.
lingar

5
  • 영구의 경우 :

    고토 nodel_modules / 각-CLI / 명령 / server.js 검색 VAR defaultPort = process.env.PORT || 4200; 4200을 원하는 다른 것으로 변경하십시오.

  • 지금 실행하려면 :

    ng serve --port 4500 (포트로 사용하려는 숫자로 4500 변경)


1
로컬에 설치된 패키지의 내용을 변경 node_modules하는 것이 좋은 습관 이라고 생각하지 않습니다 .
Bruno Brant

5

업데이트 또는 재설치로 인해 변경 사항이 제거 될 수 있으므로 노드 모듈을 변경하지 않는 것이 좋습니다. 각도 클리닉에서 변경하는 것이 좋습니다.

angular.json의 각도 9

{
    "projects": {
            "targets": {
                "serve": {
                    "options": {
                         "port": 5000
                     }
                }     
            }     
    }
}  

4

serve.js 파일에 구성된 기본 포트 번호를 편집 할 수 있습니다.

경로는입니다 project_direcory/node_modules/angular-cli/commands/serve.js.

이 줄 검색->이 줄 var defaultPort = process.env.PORT || 4200;
바꾸기->var defaultPort = process.env.PORT || 5000;


4
당신이 이것을 읽고 그것을 고려하고 있다면 ... 제발 절대 의존성 파일을 편집하지 마십시오.
emix



4

angular.json에서 :

"serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
          "browserTarget": "projectname:build",
          "port": 5000
         }

angular-cli를 사용하고 있습니다. 이것은 나를 위해 일했습니다.


4

각도 2 ++에서.

포트를 변경하려면 터미널에서 아래 명령을 실행할 수 있습니다.

ng serve --host 0.0.0.0 --port 5000.

2

위의 답변에는 이미 많은 유효한 솔루션이 있지만 Visual Studio Code를 사용 하는 Angular 7 프로젝트 (이전 버전도 가능하지만 보장되지는 않음 )에 대한 시각적 가이드 및 특정 솔루션이 있습니다. 이미지 트리에 표시된대로 디렉토리에서 schema.json 을 찾아 브라우저에서 포트를 영구적으로 변경 하려면 port- > default 에서 정수를 변경하십시오 .

여기에 이미지 설명을 입력하십시오


@ s34N 다행입니다. 답변이 도움이 되었으면 아직 게시하지 않은 경우 게시물에 투표를 제공해야합니다. 고마워 친구
themightyhulk

2

angular.json파일로 이동

키워드 "serve"검색 :

port아래와 같이 키워드를 추가하십시오 .

 "serve": {
     "builder": "@angular-devkit/build-angular:dev-server",
     "options": {
         "browserTarget": "my-new-angular-app:build",
         "port": 3001
     },
     ...

1

Angular에서 기본 포트 번호를 변경하는 두 가지 방법이 있습니다.

cli command의 첫 번째 방법 :

ng serve --port 2400 --open

두 번째 방법은 위치에서 구성하는 것 ProjectName\node_modules\@angular-devkit\build-angular\src\dev-server\schema.json입니다.

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
    },

패키지를 다시 설치 한 후 덮어 쓸 수있는 node_modules의 파일을 변경하지 않는 것이 좋습니다. Sajeetharan은 매우 좋은 해결책을 제시했습니다.
Daniel Santana

1

그냥 실행

ng serve-포트 포트

예:

ng serve --port 4401


1

나를 위해 일한 코드는 다음과 같습니다.

ng serve --port ABCD

예를 들어

ng serve --port 6300

0

브라우저에서 실행하고 열려면 자동으로 플래그를 사용 -open하거나-o

ng serve -o --port 4200

참고 : 포트 4200은 임의적입니다. 원하는 포트가 될 수 있습니다


0

NodeJS 환경 변수를 사용하여 Angular CLI dev 서버의 포트 값을 설정하려는 경우 다음 방법이 가능합니다.

  • 환경 변수에 액세스 할 수 있습니다 (예를 들어, 어떤 NodeJS 스크립트를 작성 DEV_SERVER_PORT) 및 실행할 수 ng serve--port(즉, 변수에서 가져온 매개 변수 값 child_process이 여기에 우리의 친구가 될 수 있음) :
const child_process = require('child_process');
const child = child_process.exec(`ng serve --port=${process.env.DEV_SERVER_PORT}`);
child.stdout.on('data', data => console.log(data.toString()));
  • npm을 통해이 스크립트를 실행하도록 package.json을 업데이트하십시오.
  • DEV_SERVER_PORT환경 변수 를 설정하는 것을 잊지 마십시오 ( dotenv 를 통해 수행 가능 )

다음은이 접근 방식에 대한 전체 설명입니다 . .env를 통해 Angular CLI 개발 서버 포트를 변경하는 방법


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.