programing

create-react-app 기반 프로젝트를 실행할 포트를 지정하려면 어떻게 해야 합니까?

abcjava 2023. 4. 1. 08:05
반응형

create-react-app 기반 프로젝트를 실행할 포트를 지정하려면 어떻게 해야 합니까?

제 프로젝트는 create-react-app을 기반으로 합니다. npm start ★★★★★★★★★★★★★★★★★」yarn start기본적으로는 package.json에 포트를 지정하는 옵션은 없습니다.

이 경우 원하는 포트를 지정하려면 어떻게 해야 합니까?를 동시에 는 포트 2에 (테스트용도는 1입니다.3005 또 는 또또 and and and and 。3006

환경변수를 설정하지 않을 경우 다음 옵션을 사용하여scripts★★★★★★★★★★★★★★★★★★:

"start": "react-scripts start"

로.

Linux(Ubuntu 14.04/16.04) 및 MacOS(MacOS Sierra 10.12.4의 aswin-s에 의해 테스트됨):

"start": "PORT=3006 react-scripts start"

또는 (아마도) IsaacPak의 보다 일반적인 솔루션일 수도 있습니다.

"start": "export PORT=3006 react-scripts start"

Windows JacobEnsor의 솔루션

"start": "set PORT=3006 && react-scripts start"

cross-env lib는 어디에서나 동작합니다.자세한 내용은 Aguinaldo Possatto의 답변을 참조하십시오.

답변의 인기에 따른 업데이트: 현재 파일에 저장된 환경 변수를 사용하는 것을 선호합니다(다양한 변수 집합을 저장하는 데 유용합니다).deploy「」를 참조해당됩니다. 꼭 추가해 주세요.*.env.gitignore .env여기 왜 환경변수를 사용하는 것이 대부분의 경우에 더 나은지에 대한 설명이 있습니다.여기 왜 환경에 비밀을 저장하는 것이 나쁜 생각인지에 대한 설명이 있다.

이 작업을 수행하는 다른 방법이 있습니다.

작성하다.env프로젝트 루트에 있는 파일 및 포트 번호를 지정합니다.들면 다음과 같습니다.

PORT=3005

" " 라는 ..env 디렉토리에서 (package.json를 설정합니다.PORTnumber.dariable to dariable to dariable to

예를 들어 다음과 같습니다.

.env

PORT=4200

액션에 대한 매뉴얼은https://create-react-app.dev/docs/advanced-configuration에서 찾을 수 있습니다.

cross-env를 사용하여 포트를 설정할 수 있으며 Windows, Linux 및 Mac에서 작동합니다.

yarn add -D cross-env

패키지에 넣어주세요.json 시작 링크는 다음과 같습니다.

"start": "cross-env PORT=3006 react-scripts start",

는 ''로 할 수 .PORT서버를 실행할 포트를 지정합니다.

$ export PORT=3005 #Linux
$ $env:PORT=3005 # Windows - Powershell

방법 1

프로젝트의 루트 폴더에 .env 파일을 만듭니다.

여기에 이미지 설명 입력

이렇게 설정

PORT=3005

방법 2

여기에 이미지 설명 입력

포장되어 있습니다.json

set PORT=3006 && react-scripts start

명령어 바로 아래 실행

PORT=3001 npm start

윈도우즈의 경우 cmd에서 이 명령을 직접 실행할 수 있습니다.

set PORT=3001 && npm start

고객님의 고객명package.json하여 를 사용합니다--port 4000 ★★★★★★★★★★★★★★★★★」set PORT=4000다음 예시와 같습니다.

package.json(Windows):

"scripts": {
    "start": "set PORT=4000 && react-scripts start"
}

package.json (Ubuntu):

"scripts": {
    "start": "export PORT=4000 && react-scripts start"
}

패키지 내에서 스크립트를 수정할 수 있습니다.json:

- MacOS의 경우:

"scripts": {
     "start": "PORT=9002 react-scripts start",
     "build": "react-scripts build",
     ...     
}

- Windows에서

  "scripts": {
      "start": "set PORT=9002 && react-scripts start",
      "build": "react-scripts build",
      ...
}

윈도우 사용자를 위해 React를 변경하는 방법을 찾았습니다.원하는 포트에서 실행할 수 있는 JS 포트.서버를 실행하기 전에 다음 페이지로 이동합니다.

 node_modules/react-scripts/scripts/start.js

여기서 아래 행을 검색하여 포트 번호를 원하는 포트로 변경하십시오.

 var DEFAULT_PORT = process.env.PORT || *4000*;

그리고 넌 가도 돼

이것은 Linux Elementary OS에서 동작했습니다.

"start": "PORT=3500 react-scripts start"

왜 그냥 하지 않는 거야?

PORT=3030 npm run start

.webpack.config.js:

devServer: {
    historyApiFallback: true,
    contentBase: './',
    port: 3000 // <--- Add this line and choose your own port number
}

다음 " " " 를 실행합니다.npm start

앱을 시작할 때 기본 포트 구성을 찾을 수 있습니다.

your app/syslog/start.syslog

아래로 스크롤하여 포트를 원하는 대로 변경합니다.

const DEFAULT_PORT = parseInt(process.env).포트, 10) | 4000;

이것이 당신에게 도움이 되기를 바랍니다;)

애플리케이션 코드나 환경 파일을 변경하지 않고 명령어를 호출하면서 포트 번호를 지정하면 어떨까요?이렇게 하면 여러 개의 다른 포트에서 동일한 코드 베이스를 실행하고 처리할 수 있습니다.

예를 들어 다음과 같습니다.

$ export PORT=4000 && npm start

의 값 「」 에, 에 드는 할 수 있습니다.4000abovedisclossible을 합니다.

패키지에 같은 식을 사용할 수 있습니다.json 스크립트도.

예를 들어 다음과 같습니다.

"start": "export PORT=4000 react-scripts start"

, 이 경우, 이 경우, 이 경우, 이 경우, 이 경우, 이 경우, 이 경우, 이하다'를 .package.json단, 전자의 경우 명령줄에서 호출 시 포트 값 이외에는 변경하지 않습니다.

패키지에 포트를 지정할 수 있습니다.포트 번호를 정의함으로써 json:

"scripts": {
"start": "PORT=3006 react-scripts start"}

또는 터미널에서 스크립트를 실행할 때 포트를 지정할 수 있습니다.

PORT=3003 npm start

많은 답변이 윈도우의 주요 부분을 언급하지 않았습니다.윈도우에서 지정된 포트에서 리액트 앱을 실행하는 작업은 다음과 같은 명령어로 수행되었습니다.다음의 예로부터 포토 번호를 변경할 수 있습니다.&&를 사용하는 것을 잊지 마세요.

set PORT=4200 && react-scripts start

내포입j 。 file json"start": "export PORT=3001 && react-scripts start"4MacOS 10.134시 정각

요약하면, 이를 실현하기 위한 3가지 접근법이 있습니다.

  1. "PORT"라는 환경 변수 설정
  2. 패키지의 "스크립트" 부분에 있는 "시작" 키를 수정합니다.json
  3. .env 파일을 생성하여 PORT 설정을 저장합니다.

가장 휴대하기 쉬운 것이 마지막 접근법이 될 것입니다.그러나 다른 포스터에서 설명한 바와 같이 설정을 공개 소스 저장소에 업로드하지 않도록 .gitignore에 .env를 추가합니다.

상세: 이 기사

이것을 시험해 보세요.

npm start port=30022

npm run eject하여 scripts/start.를 변경합니다.const DEFAULT_PORT = parseInt(process.env.PORT, 10) || 3000;(이 경우 3000)을 원하는 포트에 연결합니다.

프로젝트의 루트에 .env를 만들고 PORT=3001을 변경하기만 하면 됩니다.

제 경우 리액트 프로젝트에는 다음 두 가지 파일이 있습니다..env그리고..env.development.

이거 추가했어.env.development이 기능을 사용하기 위해npm start개발 명령:

PORT=3001

다른 포트를 지정할 수 있으면 좋겠습니다.3000명령줄 파라미터 또는 환경변수로 지정합니다.

현시점에서는 이 프로세스가 상당히 복잡합니다.

  1. 달려.npm run eject
  2. 그게 끝날 때까지 기다려.
  3. 편집scripts/start.js검색/교환3000사용하는 모든 포트를 사용하여
  4. 편집config/webpack.config.dev.js그리고 같은 일을 한다.
  5. npm start

Windows 에서는, 2개의 방법으로 실행할 수 있습니다.

  1. "\node_modules\react-scripts\start.js"에서 "DEFAULT_PORT"를 검색하여 원하는 포트 번호를 추가합니다.

    예: const DEFAULT_PORT = parseInt(process.env).포트, 10) | 9999;

  2. 포장되어 있습니다.json, 아래 행을 입력합니다."start": "Set PORT=9999 & react-param start" 그런 다음 NPM start를 사용하여 애플리케이션을 시작합니다.9999 포트에서 응용 프로그램을 시작합니다.

Windows의 Powershell에서 (관리자로서 실행):

(cd to your CRA app root folder

$env:PORT=3002;npm 시작

★★★★★★★★★★★★★★★를 실행하는 경우npm start포함되며 은 할 수 .docker run를 들면, doing를들 something 같은 것을 -p 3001:3000 됩니다.

FROM node

ENV PORT=3001

# whatever here, COPY .. etc.

CMD npm start

포트 .docker buid:

FROM node

ARG PORT=${PORT}
ENV PORT=${PORT}

# whatever here, COPY .. etc.

CMD npm start

를 사용합니다.--build-argdocker buid

docker build --build-arg PORT=3001 .

webpack.config.js를 편집하고 이 작업을 수행할 포트를 추가합니다.이하를 참조해 주세요.

'devServer: { 포트: 3005, historyApiFallback: true, },

그리고.

출력: {publicPath: "http://localhost:3005/", ,

패키지를 업데이트해야 합니다.다른 포트를 지정하기 위한 jon

스크립트 섹션에서 start 명령어를 다음과 같이 바꿉니다.

언급된 PORT가 수신 가능한 상태인지 확인합니다.

"start": "port PORT=3001; react-signed start"

응용 프로그램이 http://localhost:3001에서 시작됩니다.

감사해요.

언급URL : https://stackoverflow.com/questions/40714583/how-to-specify-a-port-to-run-a-create-react-app-based-project

반응형