React-scripts -> config -> paths.js"를 찾습니다. 2. 내용을 "envPublicUrl || (publicUrl? url.parse(publicUrl).pathname: ' ./');"; 3. 다시 컴파일하고 패키지합니다."/> React-scripts -> config -> paths.js"를 찾습니다. 2. 내용을 "envPublicUrl || (publicUrl? url.parse(publicUrl).pathname: ' ./');"; 3. 다시 컴파일하고 패키지합니다.">

 >  기사  >  웹 프론트엔드  >  React 빌드 경로가 올바르지 않으면 어떻게 해야 하나요?

React 빌드 경로가 올바르지 않으면 어떻게 해야 하나요?

藏色散人
藏色散人원래의
2023-01-18 16:38:401725검색

잘못된 반응 빌드 경로에 대한 해결 방법: 1. "node_modules -> React-scripts -> config -> paths.js"를 찾습니다. 2. 콘텐츠를 "envPublicUrl || (publicUrl ? url.parse(publicUrl)"로 수정합니다. ).pathname : './');"; 3. 다시 컴파일하고 패키지하면 됩니다.

React 빌드 경로가 올바르지 않으면 어떻게 해야 하나요?

이 튜토리얼의 운영 환경: Windows 10 시스템, 반응 버전 18.0.0, Dell G3 컴퓨터.

React 빌드 경로가 올바르지 않으면 어떻게 해야 하나요?

React 프로젝트가 빌드된 후 리소스 파일 경로가 잘못되거나 빈 페이지가 열리고 문제 및 간단한 해결 방법

node_modules 찾기 -> React-scripts -> paths.js

수정

function getServedPath(appPackageJson) {
  const publicUrl = getPublicUrl(appPackageJson);
  const servedUrl =
    envPublicUrl || (publicUrl ? url.parse(publicUrl).pathname : '/');//改成'./'
  return ensureSlash(servedUrl, true);
}

에서

function getServedPath(appPackageJson) {
  const publicUrl = getPublicUrl(appPackageJson);
  const servedUrl =
    envPublicUrl || (publicUrl ? url.parse(publicUrl).pathname : './');
  return ensureSlash(servedUrl, true);
}

재컴파일하고 패키징하세요

또는 더 쉬운 방법은 package.json에 다음 문장을 추가하는 것입니다

“homepage”: “.”,

이렇게 하면 모든 자산 경로가 index.html

에 상대적이므로 애플리케이션이 재구축 없이 http를 //mywebsite.com에서 http://mywebsite.com/relativepath 또는 심지어 http://mywebsite.com/relative/path로 이동합니다.

HTML5 pushState 기록 API를 사용하지 않거나 클라이언트 라우팅을 전혀 사용하지 않는 경우 애플리케이션의 URL을 지정할 필요가 없습니다.

리소스 경로가 여전히 잘못된 경우 recat 프레임워크는 BrowserRouter 라우팅을 사용할 수 있으며 이로 인해 브라우저가 해당 라우팅 구성에 액세스할 수 없게 됩니다. 이 라우팅은 문제를 해결하기 위해 HashRouter를 대체할 수 있습니다. 비어 있거나 잘못된 리소스 경로.

추천 학습: "반응 비디오 튜토리얼"

위 내용은 React 빌드 경로가 올바르지 않으면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.