> For the complete documentation index, see [llms.txt](https://docs.sysout.co.kr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sysout.co.kr/web/develop-page/js/reactjs/cra/resource-path.md).

# 자원 경로 설정

## 자원 경로 설정

초기 생성된 프로젝트를 빌드하면 다음과 같이 index 파일이 생성된다.

```markup
<!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** 속성을 추가하여 기본 시작 경로를 지정할 수 있다.

```json
{
  "name": "home",
  //생략...
  "homepage": "./",
  //생략...
}
```

다시 빌드하면 index.html의 모든 외부 자원의 경로가 `./`로 시작하는 것을 확인할 수 있다.
