Hanami 슬라이스는 애플리케이션의 모듈화를 위한 핵심 기능을 제공합니다.
슬라이스 생성 및 기본 구성
슬라이스는 Hanami 제너레이터 또는 slices 디렉토리 내 디렉토리 생성으로 생성됩니다. 각 슬라이스는 독립적인 컨테이너를 가지며, 관리되는 컴포넌트 목록을 확인할 수 있습니다. 앱의 표준 컴포넌트(예: settings, logger)는 모든 슬라이스에 자동 임포트되며, config.shared_app_component_keys를 통해 추가 컴포넌트 공유도 가능합니다. 슬라이스별 프로바이더를 정의할 수 있습니다.
슬라이스별 설정, 라우팅 및 상호작용
슬라이스별 설정을 정의하여 앱 설정과 분리 관리함으로써 설정 관리의 복잡성을 줄입니다. 슬라이스는 자체 액션을 포함하며 애플리케이션 라우터에서 라우팅 가능합니다. 슬라이스별 라우팅 파일을 분리하고 Rack Middleware를 설정할 수 있습니다.
슬라이스 간 컴포넌트는 가져오기(import) 및 내보내기(export)를 통해 느슨하게 결합됩니다. 다른 슬라이스 컴포넌트를 가져올 때, 특정 컴포넌트만 선택하거나 별칭을 지정할 수 있으며, Deps 믹스인을 활용합니다. 반대로 특정 컴포넌트만 외부에 공개하도록 내보낼 수 있습니다.
슬라이스 로딩 최적화
HANAMI_SLICES 환경 변수 또는 애플리케이션 설정을 통해 특정 슬라이스만 로드하도록 지정할 수 있습니다. 이는 필요한 슬라이스만 로드하여 애플리케이션 부팅 시간을 단축하고 메모리 사용량을 줄여 성능을 최적화합니다.