> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comfy.org/llms.txt
> Use this file to discover all available pages before exploring further.

# JavaScript 확장기능

## Comfy 클라이언트 확장하기

Comfy는 확장기능 메커니즘을 통해 수정할 수 있습니다. 확장기능을 추가하려면 다음을 수행해야 합니다:

* 파이썬 모듈에서 `WEB_DIRECTORY`를 내보내고,
* 해당 디렉터리에 하나 이상의 `.js` 파일을 배치한 후,
* `app.registerExtension`을 사용해 확장기능을 등록합니다.

다음은 이 세 단계입니다. 확장기능을 추가하는 방법을 익힌 후, [훅](/ko/custom-nodes/js/javascript_hooks)을 살펴보며 코드가 호출되도록 설정하거나, 필요한 다양한 [Comfy 객체](/ko/custom-nodes/js/javascript_objects_and_hijacking)에 대한 설명을 확인하거나, 바로 몇 가지 [예제 코드 스니펫](/ko/custom-nodes/js/javascript_examples)으로 넘어갈 수도 있습니다.

### `WEB_DIRECTORY` 내보내기

Comfy 웹 클라이언트는 사용자 정의 노드 디렉터리에 하위 디렉터리를 생성하고, 이를 일반적으로 `js`라고 부르며 `WEB_DIRECTORY`를 내보냄으로써 확장할 수 있습니다. 따라서 귀하의 `__init__.py`에는 다음과 같은 내용이 포함되어야 합니다:

```python theme={null}
WEB_DIRECTORY = "./js"
__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "WEB_DIRECTORY"]
```

### `.js` 파일 포함하기

<Tip>모든 JavaScript `.js` 파일은 Comfy 웹페이지가 로드될 때 브라우저에 의해 자동으로 로드됩니다. 확장기능이 포함된 파일을 명시할 필요는 없습니다.</Tip>

*오직* `.js` 파일만 웹페이지에 추가됩니다. 다른 리소스(예: `.css` 파일)는 `extensions/custom_node_subfolder/the_file.css` 경로로 접근 가능하며 프로그래밍 방식으로 추가할 수 있습니다.

<Warning>그 경로에는 하위 폴더 이름이 포함되지 않습니다. `WEB_DIRECTORY`의 값은 서버에서 삽입됩니다.</Warning>

### 확장기능 등록하기

확장기능의 기본 구조는 주요 Comfy `app` 객체를 가져온 후, `app.registerExtension`을 호출하고, 고유한 `name`을 포함한 딕셔너리를 전달하며, Comfy 코드의 훅에서 호출될 하나 이상의 함수를 전달하는 것입니다.

완전히 간단하고 지루한 확장기능은 다음과 같이 보일 수 있습니다:

```Javascript theme={null}
import { app } from "../../scripts/app.js";
app.registerExtension({ 
	name: "a.unique.name.for.a.useless.extension",
	async setup() { 
		alert("설정 완료!")
	},
})
```
