React 앱을 사용하여 Headless 양식 만들기 및 미리 보기 introduction

시작 키트는 React 앱을 사용하여 빠르게 시작할 수 있도록 도와줍니다. angular, Vanilla JS 및 선택한 기타 개발 환경에서 Headless 적응형 양식을 자유롭게 개발하고 사용할 수 있습니다.

Headless 적응형 양식으로 시작하는 것은 매우 쉽고 빠릅니다. 준비된 React 프로젝트를 복제하고 종속성을 설치한 다음 프로젝트를 실행합니다. React 앱 실행 및 실행에 Headless 적응형 양식이 통합되었습니다. 샘플 React 프로젝트를 사용하여 Headless 적응형 양식을 프로덕션 환경에 배포하기 전에 빌드하고 테스트할 수 있습니다.

시작하기

NOTE
이 시작 안내서는 React 앱을 사용합니다. Headless 적응형 양식을 사용하기 위해 선택한 기술 또는 프로그래밍 언어를 자유롭게 사용할 수 있습니다.

시작하기 전 pre-requisites

React 앱을 만들고 실행하려면 컴퓨터에 다음 항목이 설치되어 있어야 합니다.

시작하기

요구 사항을 충족하면 다음 단계를 수행하여 시작하십시오.

1. Headless 적응형 양식 시작 키트 설정 install

스타터 키트는 샘플 Headless 적응형 양식 및 해당 라이브러리가 있는 React 앱입니다. 이 키트를 사용하여 Headless 적응형 양식 및 관련 React 구성 요소를 개발하고 테스트하십시오. 다음 명령을 실행하여 Headless 적응형 양식 시작 키트를 설정합니다.

  1. 명령 프롬프트를 열고 다음 명령을 실행합니다.

    code language-shell
    git clone https://github.com/adobe/react-starter-kit-aem-headless-forms
    

    이 명령은 현재 위치에 react-starter-kit-aem-headless-forms ​라는 디렉터리를 만들고 Headless 적응형 양식 React 스타터 앱을 복제합니다. 양식을 렌더링하는 데 필요한 구성 및 종속성 목록과 함께 디렉터리에는 다음과 같은 중요한 콘텐츠가 포함되어 있습니다.

    • 샘플 양식: 시작 키트에 샘플 대출 신청 양식이 포함되어 있습니다. 앱에 포함된 양식(양식 정의)을 보려면 /react-starter-kit-aem-headless-forms/form-definations/form-model.json 파일을 여십시오.
    • 샘플 React 구성 요소: 스타터 키트에는 리치 텍스트 및 슬라이더에 대한 샘플 React 구성 요소가 포함됩니다. 이 안내서는 이러한 리치 텍스트 및 슬라이더 구성 요소를 사용하여 사용자 지정 구성 요소를 만드는 데 도움이 됩니다.
    • Mappings.ts: mappings.ts 파일을 사용하면 사용자 지정 구성 요소를 양식 필드에 매핑할 수 있습니다. 예를 들어 숫자 스텝퍼 필드를 등급 구성 요소에 매핑합니다.
    • 환경 구성: 환경 구성을 사용하면 시작 키트에 포함된 양식을 렌더링하거나 AEM Forms 서버에서 양식을 가져올 수 있습니다.

    note note
    NOTE
    문서의 예제는 VSCode를 기반으로 합니다. 일반 텍스트 코드 편집기를 자유롭게 사용할 수 있습니다.
  2. react-starter-kit-aem-headless-forms 디렉터리로 이동하고 다음 명령을 실행하여 종속성을 설치합니다.

    code language-shell
    npm install
    

    이 명령은 Headless 적응형 양식과 같이 앱을 실행하고 빌드하는 데 필요한 모든 필수 패키지 및 라이브러리를 다운로드합니다
    라이브러리(@aemforms/af-react-renderer, @aemforms/af-react-components, @adobe/react-spectrum)는 유효성 검사를 실행하고 양식 인스턴스에 대한 데이터를 유지합니다.

2. Headless 적응형 양식 미리 보기 preview

시작 키트를 설정한 후 샘플 Headless 적응형 양식을 미리 보고 사용자 정의 양식으로 바꿀 수 있습니다. AEM Forms 서버에서 양식을 검색하도록 시작 키트를 구성할 수도 있습니다. 양식 미리 보기

  1. env_template 파일의 이름을 .env 파일로 바꾸십시오. 또한 USE_LOCAL_JSON 옵션이 true로 설정되어 있는지 확인합니다.

  2. 다음 명령을 사용하여 앱을 실행합니다.

    code language-shell
      npm start
    

    이 명령은 로컬 개발 서버를 시작하고 스타터 앱에 포함된 샘플 Headless 적응형 양식을 기본 웹 브라우저에서 엽니다.

    Headless 양식 샘플

    짜잔! 사용자 정의 Headless 적응형 양식 개발을 시작하도록 모두 설정되었습니다.

3. Headless 적응형 양식 만들기 및 렌더링 custom

Headless 적응형 양식은 양식과 해당 구성 요소(예: 필드 및 버튼)를 JSON(JavaScript 개체 표기법) 형식으로 나타냅니다. JSON 포맷을 사용하면 다양한 프로그래밍 언어에서 쉽게 구문 분석하여 사용할 수 있어 시스템 간에 양식 데이터를 편리하게 교환할 수 있는 장점이 있습니다. 앱에 포함된 샘플 Headless 적응형 양식을 보려면 /react-starter-kit-aem-headless-forms/form-definations/form-model.json 파일을 여십시오.

"이름", "이메일", "연락처 번호" 및 "메시지" 네 개의 필드가 있는 연락처 양식을 만들어 보겠습니다. 필드는 JSON 내의 오브젝트(항목)로 정의되며, 각 오브젝트(항목)에는 유형, 레이블, 이름 및 필수 속성과 같은 속성이 있습니다. 양식에는 "submit" 유형의 단추도 있습니다. 다음은 양식에 대한 JSON입니다.

{
  "afModelDefinition": {
    "adaptiveform": "0.10.0",
    "items": [
      {
        "fieldType": "text-input",
        "label": {
          "value": "Name"
        },
        "name": "name"
      },
      {
        "fieldType": "text-input",
        "format": "email",
        "label": {
          "value": "Email"
        },
        "name": "email"
      },
      {
        "fieldType": "text-input",
        "format": "phone",
        "pattern": "[0-9]{10}",
        "label": {
          "value": "Contact Number"
        },
        "name": "Phone"
      },
      {
        "fieldType": "multiline-input",
        "label": {
          "value":"Message"
        },
        "name": "message"
      },
      {
        "fieldType": "button",
        "label":{
          "value": "Submit"
        },
        "name":"submit",
        "events":{
          "click": "submitForm()"
        }
      }
    ],
    "action": "https://eozrmb1rwsmofct.m.pipedream.net",
    "description": "Contact Us",
    "title": "Contact Us",
    "metadata": {
      "grammar": "json-formula-1.0.0",
      "version": "1.0.0"
    }
  }
}
NOTE
  • "afModelDefinition" 속성은 React 애플리케이션에만 필요하며 양식 정의의 일부가 아닙니다.
  • 양식 JSON을 손으로 제작하거나 AEM 적응형 양식 편집기(적응형 양식 WYSIWYG 편집기)를 사용하여 양식 JSON을 만들고 전달할 수 있습니다. 프로덕션 환경에서는 AEM Forms을 사용하여 나중에 양식 JSON을 비롯한 다양한 정보를 제공합니다.
  • 이 자습서에서는 https://pipedream.com/을 사용하여 양식 제출을 테스트합니다. 조직에서 승인한 자체 또는 타사 엔드포인트를 사용하여 Headless 적응형 양식에서 데이터를 수신합니다.

양식을 렌더링하려면 샘플 Headless 적응형 양식 JSON /react-starter-kit-aem-headless-forms/form-definations/form-model.json을(를) 위의 JSON으로 바꾸고 파일을 저장한 다음 스타터 키트가 컴파일될 때까지 기다렸다가 양식을 새로 고치십시오.

샘플 Headless 적응형 양식 JSON 을(를) 사용자 지정 Headless 적응형 양식 JSON으로 바꾸기

Headless 적응형 양식을 성공적으로 렌더링했습니다.

보너스

양식을 호스팅하는 웹 페이지의 제목을 Contact Us | WKND Adventures and Travel(으)로 설정해 보겠습니다. 제목을 변경하려면 편집할 react-starter-kit-aem-headless-forms/public/index.html 파일을 열고 제목을 설정합니다.

다음 단계

기본적으로 시작 키트는 Adobe의 Spectrum 구성 요소를 사용하여 양식을 렌더링합니다. 를 사용하여 나만의 구성 요소나 서드파티 구성 요소를 만들어 사용할 수 있습니다. 예를 들어 Google Material UI 또는 Chakra UI를 사용합니다.

Google 재질 UI를 사용하여 연락처 양식을 렌더링해 보겠습니다.

recommendation-more-help
ce8b2828-9203-402e-a565-7b758c99b2ba