이 문서는 AI로 번역되었습니다. 부정확한 내용이 있을 경우 영어 버전을 참조하세요
Git을 통해 소스 코드를 클론하거나 create-nocobase-app을 사용하여 프로젝트를 초기화하든, 생성된 NocoBase 프로젝트는 본질적으로 Yarn Workspace 기반의 모노레포입니다.
다음 예시는 my-nocobase-app/을 프로젝트 디렉토리로 사용합니다. 환경에 따라 약간의 차이가 있을 수 있습니다:
packages/ 디렉토리에는 NocoBase의 핵심 모듈과 확장 가능한 패키지가 포함되어 있습니다. 내용은 프로젝트 소스에 따라 달라집니다:
create-nocobase-app을 통해 생성된 프로젝트: 기본적으로 packages/plugins/만 포함하며, 사용자 정의 플러그인 소스 코드를 저장하는 데 사용됩니다. 각 하위 디렉토리는 독립적인 npm 패키지입니다.core/, plugins/, pro-plugins/, presets/ 등 더 많은 하위 디렉토리를 볼 수 있으며, 각각 프레임워크 핵심, 내장 플러그인, 공식 사전 설정 솔루션에 해당합니다.어떤 경우든, packages/plugins는 사용자 정의 플러그인을 개발하고 디버깅하는 주요 위치입니다.
storage/는 런타임에 생성된 데이터와 빌드 결과물을 저장합니다. 일반적인 하위 디렉토리 설명은 다음과 같습니다:
apps/: 다중 애플리케이션 시나리오를 위한 설정 및 캐시.logs/: 런타임 로그 및 디버그 출력.uploads/: 사용자가 업로드한 파일 및 미디어 리소스.plugins/: UI를 통해 업로드되거나 CLI를 통해 임포트된 패키지 플러그인.tar/: yarn build <plugin> --tar 실행 후 생성되는 압축된 플러그인 패키지.일반적으로
storage디렉토리를.gitignore에 추가하고, 배포 또는 백업 시 별도로 처리하는 것이 좋습니다.
.env, .env.test, .env.e2e: 각각 로컬 실행, 유닛/통합 테스트, 엔드투엔드(E2E) 테스트에 사용됩니다.scripts/: 일반적인 유지보수 스크립트(예: 데이터베이스 초기화, 릴리스 유틸리티 등)를 저장합니다.플러그인은 여러 위치에 존재할 수 있으며, NocoBase는 시작 시 다음 우선순위에 따라 로드합니다:
packages/plugins에 있는 소스 코드 버전 (로컬 개발 및 디버깅용).storage/plugins에 있는 패키지 버전 (UI를 통해 업로드되거나 CLI를 통해 임포트된).node_modules에 있는 의존성 패키지 (npm/yarn을 통해 설치되거나 프레임워크에 내장된).동일한 이름의 플러그인이 소스 코드 디렉토리와 패키지 디렉토리에 동시에 존재할 경우, 시스템은 로컬 오버라이드 및 디버깅을 용이하게 하기 위해 소스 코드 버전을 우선적으로 로드합니다.
CLI를 사용하여 플러그인 생성:
생성된 디렉토리 구조는 다음과 같습니다:
빌드가 완료되면,
dist/디렉토리와client.js,server.js파일은 플러그인이 활성화될 때 로드됩니다. 개발 단계에서는src/디렉토리만 수정하면 됩니다. 게시하기 전에yarn build <plugin>또는yarn build <plugin> --tar를 실행하세요.