0

내 상황 : 나는 서지에 create-react-app로 만든 응용 프로그램을 호스팅하고있어'반응 스크립트'에 빌드의 루트에 여분의 파일을 포함시키는 방법이 있습니까?

. Surge를 사용하려면 react-router이 라우트를 처리하게하려면 루트에 200.html을 추가해야하며 404s를 처리하려면 루트에 404.html을 추가해야합니다. 문제는 npm run build으로, index.htmlfavicon.ico만이 빌드 디렉토리의 루트에 추가됩니다.

가능한 해결 방법 :

내가 package.json react-scripts build && cp 200.html 404.html buildbuild 스크립트를 만들어서 다른 파일을 복사 할 수 있습니다.

질문 :

react-scripts가 아니라 package.json에 bash는 스크립트에 의존하지 않고 빌드의 루트에 파일을 추가해야하는 더 나은 방법이 있나요?

답변

1

내가 원래 정했을 때 내 package.json에서 bash 스크립트를 사용하는 것이 정답 이었지만 빌드 스크립트 대신 배포 스크립트에서 파일 작업을 수행하고 index.html의 이름을 200으로 변경하기로 결정했습니다. 여분의 파일을 복사하는 대신 html, as suggested by the create-react-app docs; 변화가 전개 환경에 고유 때문에 서지 아닌 다른 곳을 배포하는 경우

"build": "react-scripts build", 
"deploy": "npm run build && mv build/index.html build/200.html && surge build mydomain.com" 

나는 나는, 의미, 대신 빌드 스크립트의, 배포 스크립트에 적합한 솔루션을 파일 작업을한다하고 생각 인덱스 파일의 이름을 바꾸지 않을 수도 있습니다.

다른 사람들에게 더 좋은 제안이있는 경우 다른 솔루션에 대해 열어보세요.

+1

대단히 감사합니다. 나를 위해 일했다. –