2016-07-25 1 views
7

실행 한 후 Create React Appnpm run build는, 생성 된 index.html은 다음과 같습니다만들 반응 - 응용 프로그램의 CSS와 JS 경로

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>React App</title><link rel="shortcut icon" href="/favicon.ico"><link href="/main.e606e04b6e0092a87205a9dc4662479c.css" rel="stylesheet"></head><body><div id="root"></div><script type="text/javascript" src="/main.35180d284d8a2058f717.js"></script></body></html> 

모두, scriptlinksrc/href -attributes, 잘못된 방향을 가리키고. 모든 생성 된 파일은 동일한 디렉토리에 있으므로 선두 인 /은 제거해야합니다. 이 버그입니까? 아니면 어떻게 든이 경로를 구성 할 수 있습니까?

+0

이것은 버그가 아닙니다. 그것은 색인의 옆에 다른 노선에 그 특정한 파일을 얻는 는다는 것을 확인합니다 –

답변

20

생성 된 파일은 웹 서버에서 제공 될 예정입니다. npm run build을 실행하면 해당 디렉토리에 간단한 로컬 웹 서버를 시작하는 지침이 표시됩니다. 이 디렉토리를 실제 웹 서버에 배포하고 루트에서 index.html을 제공하면 잘 작동합니다.

생성 된 파일이 /없이 스크립트를 참조하면 클라이언트 측 라우팅을 추가하자마자 사이트가 중단됩니다. 예를 들어 앱이 mysite.com에 있고 mysite.com/about과 같은 URL도 처리하는 경우 상대 경로를 사용하면 mysite.com/about/*.js에서 스크립트가로드되어 404 오류가 발생합니다. 이것이 모든 경로가 기본적으로 루트에서 시작하는 이유입니다. 당신이 하위 디렉토리에서 응용 프로그램을 제공하려면

(예 myuser.github.io/myproject에서), 당신은 예를 들어, package.json"homepage" 필드를 추가해야합니다

"homepage": "http://myuser.github.io/myproject" 

가 생성 반응 앱이 올바른 루트를 추론한다 경로는 homepage 설정을 기반으로합니다. 이 기능은 이후 사용 가능합니다 [email protected]

자세한 내용은 deployment instructions을 참조하십시오.

+0

좋습니다, 감사합니다! – Chris

+4

'{ "homepage": "."}'를 설정하고'phonegap run build'를 다시 실행하십시오. 링크는'src = "./ main.123456.js"'로 변경됩니다. 이제 내 응용 프로그램은 phonegap에서 작동합니다 :-) – OoDeLally

+2

우리는 공식적으로'{ "homepage": "."}를 지원하지 않습니다. 다른 경우에는 중단됩니다. –

관련 문제