Next.js

circle-info

Next.js는 @hackler/react-sdk 패키지를 이용하여 핵클을 연동할 수 있습니다.

핵클 SDK의 자세한 연동 및 사용 가이드는 React 가이드를 참고해주세요.

1. 설치

Next.js 에서 Hackle 을 사용하시려면 @hackler/react-sdk를 설치해야 합니다.

npm install @hackler/react-sdk
circle-info

.env.development, .env.production 파일에 Hackle SDK 키를 개발환경, 운영환경에 맞게 각각 추가하세요.

NEXT_PUBLIC_HACKLE_SDK_KEY=your-hackle-sdk-key

2. 연동 방법

Hackle은 Next.js 의 Page Routerarrow-up-rightApp Routerarrow-up-right를 모두 지원합니다. 각각 Hackle을 연동하는 방법에는 몇 가지 차이점이 있습니다.

인스턴스 생성

// app/hackleClient.client.ts

"use client";

import { createInstance } from "@hackler/react-sdk";

export const hackleClient = createInstance(
  process.env.NEXT_PUBLIC_HACKLE_SDK_KEY!
);

App Router - 프로바이더 생성

App Router - 루트 레이아웃 설정

Page Router - 프로바이더 사용

3. 주요 기능

A/B 테스트 그룹 분배

기능플래그 결정

원격구성 적용

이벤트 전송

고급설정

Next.js 에서 서버사이드 분배를 위해서는 추가 설정이 필요합니다. 서버사이드에서 분배를 하는 경우 분배 식별자와 서버 사이드와 클라이언트 사이드에서 실행되는 코드를 주의 깊게 관리해야 합니다.

설치

서버사이드(Node.js 환경)에서 사용될 sdk 를 별도로 설치해야 합니다.

SDK 키 추가

.env.development, .env.production 파일에 Hackle SDK 키를 개발환경, 운영환경에 맞게 각각 추가하세요.

SDK 키는 https://dashboard.hackle.io/config/sdk-settingarrow-up-right 에서 Server 키를 찾을 수 있습니다.

연동 방법

서버사이드 사용 방법

A/B 테스트 그룹 분배

기능플래그 결정

원격구성 적용

이벤트 전송

instrumentation

HackleClient 는 초기화시 Hackle Server 로 부터 설정 정보를 받아오고 이후 주기적으로 동기화를 합니다. 따라서 instrumentation.ts 를 활용하면 await hackleClient.onInitialized() 와 같은 코드를 매 페이지에서 사용하지 않고 코드를 더 간단하게 유지할 수 있습니다. 단 instrumentationHook 이 기본설정이 되는 Next.js v15 이상에서 권장 합니다.

마지막 업데이트