programing

네이티브 변경 리스닝 포트 대응

iphone6s 2023. 2. 21. 23:32
반응형

네이티브 변경 리스닝 포트 대응

리액트 네이티브 안드로이드를 사용하고 있으며 안드로이드 기기에 앱을 도입하는 데 문제가 있습니다.내가 달릴 때

start, react-paraming 서버가 되지 않음, "dev"는 "dev"입니다.8081

여기에 이미지 설명 입력

다음에서 언급한 몇 가지 옵션을 사용해 보았습니다.

  1. https://native.dev/https/트러블 슈팅

  2. 포트 번호 8081에서 실행되고 있는 프로세스를 정지하려고 했지만 성공하지 못했다.

궁금한 점은 React Native 개발 서버 포트를 8081(Android에서는 기본이지만 ios에서도 AppDelegate.m 파일에서 변경할 수 있음)에서 다른 방법으로 변경할 수 있는지 여부입니다.

답변 부탁드립니다.감사해요.

이것이 문서화되어 있는지 아닌지는 확실하지 않습니다.[ 1 ] 에서는, 다음과 같이 CLI 인수로 포토를 지정할 수 있습니다.

react-native start --port 9988

소스코드에서 찾았는데 로컬머신에서 동작했어요:)

https://github.com/facebook/react-native/blob/master/local-cli/server/server.js#L30


[1] 이 내용은 https://facebook.github.io/react-native/docs/troubleshooting#using-a-port-other-than-8081에서 문서화되어 있습니다.

늦은 건 알지만 참고로 항구를 영구적으로 변경할 수 있는 다른 방법도 있습니다.

your_app\node_modules\react-native\local-cli\server\server.js로 이동하여 포트 8081을 8088로 변경합니다.

이렇게 될 것이다.

    ...
      module.exports = {
      name: 'start',
      func: server,
      description: 'starts the webserver',
      options: [{
        command: '--port [number]',
        default: 8088,
        parse: (val) => Number(val),
      }
     ...

RN 0.57:
메트로 하고 있는 . 커스텀 메트로 구성을 사용하는 경우

const config = {
  ...
  server: {
    port: 8088,
  }
  ...
};

2. 그렇지 않으면.
your_app\node_modules\react-native\local-cli\util\Config.js로 합니다.

const Config = {
   ...
   server: {
      port: process.env.RCT_METRO_PORT || 8088 //changed from 8081
   }
   ...
}

가장 간단한 해결책은 다음과 같습니다.

다음 명령어는 포트 1234를 수신하는 Android 또는 iOS 패키지를 빌드합니다.

iOS의 경우:react-native run-ios --port=1234

»react-native run-android --port=1234

metro-server를 사용하는 경우 다음과 같이 서버 오브젝트에 포트를 추가할 수 있습니다.

server:{ port:1234 }

또는

달려.

react-native start --port=1234

metro-server 의 자세한 설정은, https://facebook.github.io/metro/docs/en/configuration 를 참조해 주세요.

하지만 0.55 이상이 필요합니다.

지정된 포트를 사용하여 메트로 번들러 서버를 실행합니다(Metro) 번들러 서버를 실행합니다."8089"

react-native start --port 8089

위의 포트를 리슨하는 iOS 및 Android 패키지 구축

iOS:react-native run-ios --port 8089 --simulator \"iPhone 8\"

안드로이드: react-native run-android --port 8089

시뮬레이터 또는 기기에서 앱을 실행한 후 Dev-Settings에서 서버 및 포트 번호를 변경합니다.

  • iOS: Command + D in Mac and Ctrl + D in windows
    • [ Configure Bundler ]옵션을 클릭합니다.
    • localhost 「」로서 를 설정합니다.8089 변화를 주다
  • 안드로이드: Command + M in Mac and Ctrl + M in windows
    • 번들 위치 변경을 클릭합니다.
    • 을 로로로 localhost:8089를 누르세요.

때 이 부분은 .RCT_METRO_PORT하면 xcode 또는 xcode xcode를 할 때 할 수 .react-native run-ios「Pods」의 「Build Settings」의 「Preprocessor」의 「Build Settings」의 「Preprocessor」의 「Pods」의 「Build Settings」의 「Preprocessor」의 「Preprocessor」의 「Pods」의 「Build Settings」를 참조해 주세요.를 들어, 「」입니다.RCT_METRO_PORT=7777하고 있는 가 「」인 7777.

여기에 이미지 설명 입력

하루 종일 많은 해결 방법을 검토한 후, 여러 가지 제안을 조합하여 해결했습니다.다음의 순서에 따릅니다.

  1. 'react-native init [ PROJECT _ NAME ]명령어를 사용하여 프로젝트를 만듭니다.

  2. 프로젝트를 Xcode로 열고 "8081"을 "8088"로 바꾼 후 변경 내용을 저장합니다.

  3. 터미널을 열고 작업 디렉토리를 위에서 작성한 프로젝트 디렉토리로 변경합니다.네이티브 사용에 반응하는 포트를 변경하려면 react-native start --port 8088 명령을 사용합니다.

이 명령어를 실행하면 단말기에 다음 출력이 표시됩니다.

여기에 이미지 설명 입력

보시다시피 Metro 인스턴스가 시작됩니다.명령 또는 터미널 창을 종료하지 마십시오.이 프로세스를 실행합니다.

  1. 새 터미널 창을 열고 작업 디렉토리를 프로젝트 디렉토리로 변경한 후 다음 명령을 사용하여 react-native 프로젝트를 실행합니다.

반응 반응 반응 런아이오스

프로젝트가 두 번째 터미널에서 성공적으로 구축되면 첫 번째 터미널 창에 다음과 같이 앱 번들의 로드를 나타내는 진행 표시줄이 나타납니다.

여기에 이미지 설명 입력번들 로드가 완료되면 앱이 시뮬레이터에서 성공적으로 실행됩니다.

이게 도움이 됐으면 좋겠다.해피 코딩

/**
 * Metro configuration for React Native
 * https://github.com/facebook/react-native
 *
 * @format
 */

module.exports = {
  transformer: {
    getTransformOptions: async () => ({
      transform: {
        experimentalImportSupport: false,
        inlineRequires: false,
      },
    }),
  },
  server: {
    port: 8088,
  },
}

Native 은 React Native에 .@react-native-community/cli를 변경하려면 를 PORT로 .export프로젝트 경로 내에서 다음 명령을 사용하여 환경 변수를 지정합니다.

export RCT_METRO_PORT=8590

후 리 the the ios의 .Pods 및 "" "Pods seek (폴더 검색)RCTDefines.h둘 다 파일을 됩니다.둘다다다다있있있있있있있있8081로로 합니다.8590.

에서는 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★.echo $RCT_METRO_PORT PORT 「PORT」가 는,8590인 '아까보다'로 할 수 yarn start그리고 나서.yarn ios또는yarn android.

힌트: React Native Debugger에 연결하려면 +를 t누르고 다음을 변경하십시오.8081로 항행하다.8590.

세트RCT_METRO_PORT, 예:

export RCT_METRO_PORT=8765
export RCT_METRO_PORT=8082
react-native start --port $RCT_METRO_PORT
react-native run-ios

https://facebook.github.io/react-native/docs/troubleshooting#using-a-port-other-than-8081

react-native-port-patcher를 사용하면 기본 8081 포트를 원하는 포트 번호로 바꿀 수 있습니다.

다음의 순서에 따릅니다.

순서 1:

vim node_modules/react-native/local-cli/server/server.js

스텝 2 : 기본 포트 변경 - 기타 포트 //예 -> 8089

스텝 3 : 프로젝트 ->로 돌아가 npm시작합니다.

만약 실을 사용한 경우 --포트 이름을 사용하시면 됩니다.예: 실 시작 --포트 8082

8081 이외의 포토를 에뮬레이터로 동일하게 실행하고 있는 경우는, https://medium.com/@hsuastegui/use-http-in-a-different-port-1109db5674d8 의 링크에 의해서, 보다 적절한 솔루션이 있다고 생각합니다.

다음과 같은 명령어를 실행했을 때

./node_modules/react-native/scripts/launchPackager. 명령어

디버깅 서버를 기동하려면 , 다음과 같은 arg 를 사용합니다.

---포트 8082

React 네이티브 0.53.3에서 작동합니다.

언급URL : https://stackoverflow.com/questions/34431052/react-native-change-listening-port

반응형