자원 경로 설정
자원 경로 설정
초기 생성된 프로젝트를 빌드하면 다음과 같이 index 파일이 생성된다.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta name="description" content="Web site created using create-react-app" />
<link rel="apple-touch-icon" href="/logo192.png" />
<link rel="manifest" href="/manifest.json" />
<title>React App</title>
<script defer="defer" src="/static/js/main.29ce6c5e.js"></script>
<link href="/static/css/main.31d6cfe0.css" rel="stylesheet">
</head>
<body><noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>
별도의 자원 경로를 설정하지 않았기 때문에 favicon, style, logo, script 등이 모두 /
로 시작한다. 하지만 배포 환경에서는 context path를 알 수 없으므로 상대 경로로 설정하는 것이 일반적이다.
package.json 설정
package.json
파일에 homepage 속성을 추가하여 기본 시작 경로를 지정할 수 있다.
{
"name": "home",
//생략...
"homepage": "./",
//생략...
}
다시 빌드하면 index.html의 모든 외부 자원의 경로가 ./
로 시작하는 것을 확인할 수 있다.
Last updated