Comfy 클라이언트 확장하기
Comfy는 확장기능 메커니즘을 통해 수정할 수 있습니다. 확장기능을 추가하려면 다음을 수행해야 합니다:
- 파이썬 모듈에서
WEB_DIRECTORY를 내보내고,
- 해당 디렉터리에 하나 이상의
.js 파일을 배치한 후,
app.registerExtension을 사용해 확장기능을 등록합니다.
다음은 이 세 단계입니다. 확장기능을 추가하는 방법을 익힌 후, 훅을 살펴보며 코드가 호출되도록 설정하거나, 필요한 다양한 Comfy 객체에 대한 설명을 확인하거나, 바로 몇 가지 예제 코드 스니펫으로 넘어갈 수도 있습니다.
WEB_DIRECTORY 내보내기
Comfy 웹 클라이언트는 사용자 정의 노드 디렉터리에 하위 디렉터리를 생성하고, 이를 일반적으로 js라고 부르며 WEB_DIRECTORY를 내보냄으로써 확장할 수 있습니다. 따라서 귀하의 __init__.py에는 다음과 같은 내용이 포함되어야 합니다:
WEB_DIRECTORY = "./js"
__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "WEB_DIRECTORY"]
.js 파일 포함하기
모든 JavaScript .js 파일은 Comfy 웹페이지가 로드될 때 브라우저에 의해 자동으로 로드됩니다. 확장기능이 포함된 파일을 명시할 필요는 없습니다.
오직 .js 파일만 웹페이지에 추가됩니다. 다른 리소스(예: .css 파일)는 extensions/custom_node_subfolder/the_file.css 경로로 접근 가능하며 프로그래밍 방식으로 추가할 수 있습니다.
그 경로에는 하위 폴더 이름이 포함되지 않습니다. WEB_DIRECTORY의 값은 서버에서 삽입됩니다.
확장기능 등록하기
확장기능의 기본 구조는 주요 Comfy app 객체를 가져온 후, app.registerExtension을 호출하고, 고유한 name을 포함한 딕셔너리를 전달하며, Comfy 코드의 훅에서 호출될 하나 이상의 함수를 전달하는 것입니다.
완전히 간단하고 지루한 확장기능은 다음과 같이 보일 수 있습니다:
import { app } from "../../scripts/app.js";
app.registerExtension({
name: "a.unique.name.for.a.useless.extension",
async setup() {
alert("설정 완료!")
},
})