Strapi Headless CMS + GraphQL을 사용한 평가 및 조정
7112 단어 webdevreactjavascriptheadlesscms
우리가 선택한 접근 방식은 개발자와 클라이언트(웹 사이트 콘텐츠를 유지 관리하는 사람)에게 지나치게 복잡하지 않으면서 우리 사양에 맞는 충분한 기능을 갖춘 가벼운 CMS 백엔드를 찾는 것이었습니다.
우리가 비교한 다양한 헤드리스 CMS 옵션(예: Contentful , Prismic , Netlify CMS 및 Kirby )에서 우리는 Strapi가 우리의 경우에 가장 적합하다는 것을 확인했습니다. Strapi(NodeJS Vue.JS 기반 CMS)는 최소한의 UI와 React 및 GraphQL 프런트엔드 기술 스택과의 간단한 통합을 확신합니다.
스트라피의 좋은점은?
개선의 여지는 어디에 있습니까?
결론: Strapi는 우리 프로젝트에서 어떻게 작동했습니까?
Docker를 사용하여 Strapi를 설정하기 위한 초기 투쟁은 궁극적으로 웹 사이트 개발 중에 귀중한 시간을 절약하게 되었습니다. 우리는 React 구성 요소를 빌드하고 CMS 데이터 스키마와 잘 매핑할 수 있습니다(아래 해킹 참조). GraphQL을 사용하면 데이터를 쉽게 쿼리할 수 있습니다. Strapi + GraphQL 플레이그라운드는 실시간으로 쿼리를 디버그할 수 있는 동시에 쿼리 작성을 매우 간단하게 만들었습니다. 결국 이 기술 스택은 전체 개발 시간을 거의 30% 단축했습니다.
이를 통해 일정을 유지하면서 레거시 코드를 통합하고 디버깅하는 데 사용한 개발 시간을 확보했습니다. 기존 Strapi REST API는 잘 문서화되어 있어 Salesforce API와 자체 데이터베이스 간에 데이터를 동기화하는 워크플로를 구축했습니다.
우리 클라이언트는 직관적인 UI 때문에 Strapi를 좋아하고 개발자로서 콘텐츠 품질을 유지하고 디자인 손상을 방지하기 위해 텍스트 길이 제한, 필수 양식 필드 등과 같은 입력 제한을 적용할 수 있습니다.
Strapi로 개발할 때 세 가지 조정
(1) 쿼리 제한 제거
초기에 반환되는 GraphQL 쿼리는 100개 항목으로 제한됩니다. 이는/extensions/graphql/config의 settings.json을 사용하여 변경할 수 있습니다. 자세한 내용은 설명서를 참조하십시오.
{
"endpoint": "/graphql",
"tracing": false,
"shadowCRUD": true,
"playgroundAlways": false,
"depthLimit": 7,
"amountLimit": 1000,
"federation": false
}
(2) Strapi 마크업을 HTML로 시각화
Rich Text 콘텐츠를 시각화하기 위해 React Markup을 사용했습니다. 그러나 밑줄과 같은 일부 서식은 수동으로 처리해야 합니다.
(3) 프런트엔드와 백엔드의 일관된 정보 아키텍처
React 구성 요소 속성을 1:1로 Strapi 데이터 모델에 매핑했습니다. 이것은 기술 전반에 걸쳐 일관성을 만듭니다.
CMS 백엔드:
GraphQL 쿼리:
또한 GraphQL 조각을 사용하여 코드를 재사용 가능하고 CMS 스키마가 변경될 때 쉽게 변경할 수 있도록 했습니다.
export const BUTTON_FRAGMENT = `
title
className
fontColor
buttonColor
type
route
`;
Typescript로 컴포넌트 반응:
export type ButtonProps = {
title: string,
className?: string,
fontColor?: string,
buttonColor?: string,
type?: string,
onClick?: () => void,
route?: string,
};
const Button = (props: ButtonProps): JSX.Element => {
<ButtonEl className={`${props.className || ''} button`} onClick={props.onClick}>
...
</ButtonEl>
};
export default Button;
Reference
이 문제에 관하여(Strapi Headless CMS + GraphQL을 사용한 평가 및 조정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/taikonauten/evaluation-and-tweaks-using-strapi-headless-cms-graphql-4ofc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)