0Pricing
Angular Academy · 강의

ng generate로 라이브러리 만들기

라이브러리 프로젝트의 기본 구조를 생성합니다.

ng generate로 라이브러리 만들기은(는) CoddyKit의 무료 Angular Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Angular Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Angular Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

라이브러리를 만드는 이유

여러 앱에서 동일한 구성 요소, 서비스 또는 유틸리티가 필요하다면 이를 앵귤러 라이브러리로 패키징합니다. 라이브러리는 프로젝트 간에 코드를 복사해 붙여 넣는 대신 재사용하고 버전을 관리하며 배포할 수 있습니다.

워크스페이스에 라이브러리 보관하기

라이브러리는 앵귤러 워크스페이스 안에 있습니다. 워크스페이스는 하나의 angular.json으로 관리되는 폴더이며, 여러 앱과 라이브러리를 포함할 수 있습니다. 기존 워크스페이스에 라이브러리를 추가하거나 전용 워크스페이스를 만들 수 있습니다.

ng new my-workspace --create-application=false
# a workspace with no app, ready to hold libraries

라이브러리 생성하기

ng generate library(별칭 ng g lib) 스키매틱은 projects/ 아래에 새 라이브러리 프로젝트의 기본 구조를 생성합니다.

ng generate library ui-kit
# creates projects/ui-kit with a sample component, module, and public-api.ts

생성되는 항목

라이브러리에는 자체 src/lib 폴더, public-api.ts 배럴, 빌드에 사용하는 ng-package.json, 그리고 angular.json의 항목이 포함됩니다. 자체적으로 완결되어 빌드할 수 있는 프로젝트입니다.

projects/ui-kit/
  src/
    lib/        # your components & services
    public-api.ts
  ng-package.json
  package.json

라이브러리에 구성 요소 추가하기

--project로 라이브러리를 지정하여 라이브러리 안에 코드를 생성합니다. CLI가 올바른 폴더에 파일을 배치합니다.

ng generate component button --project=ui-kit
ng generate service theme --project=ui-kit

라이브러리의 독립 실행형 구성 요소

최신 라이브러리는 독립 실행형 구성 요소를 선호하므로, 사용자는 NgModule 없이 구성 요소를 직접 가져올 수 있습니다. 구성 요소를 standalone: true로 표시하면 앱에서 간단한 가져오기로 사용할 수 있습니다.

@Component({
  selector: 'lib-button',
  standalone: true,
  template: '<button class="lib-btn"><ng-content></ng-content></button>',
})
export class ButtonComponent {}

라이브러리의 package.json

각 라이브러리에는 이름, 버전, @angular/core 같은 동료 의존성을 정의하는 자체 package.json이 있습니다. 동료 의존성이란 사용하는 앱이 앵귤러를 제공하도록 하여 중복 사본을 피하는 것을 의미합니다.

{
  "name": "ui-kit",
  "version": "0.0.1",
  "peerDependencies": { "@angular/core": "^18.0.0" }
}

로컬 앱을 대상으로 개발하기

라이브러리를 빌드하는 동안 테스트할 수 있도록 같은 워크스페이스에 데모 앱을 유지합니다. 라이브러리 이름으로 가져오면 tsconfig의 TypeScript 경로 매핑을 통해 로컬 소스로 확인됩니다.

라이브러리와 애플리케이션

애플리케이션은 배포하기 위한 것이고, 라이브러리는 사용되기 위한 것입니다. 라이브러리는 직접 제공할 수 없으며, 배포 가능한 패키지로 빌드한 다음 게시하거나 워크스페이스의 앱에서 가져와야 합니다.

라이브러리의 목적을 명확히 유지하기

좋은 라이브러리는 명확한 목적을 가집니다(예: UI 키트, 데이터 액세스 계층). 서로 관련 없는 코드를 한곳에 몰아넣지 마세요. 응집력 있는 라이브러리는 버전 관리, 문서화, 재사용이 더 쉽습니다.

다음 단계

라이브러리의 기본 구조를 만들었다면 이제 공개 API를 정의하고, 앵귤러 패키지 형식으로 빌드한 다음 게시해야 합니다. 다음 강의에서 각 단계를 다룹니다.

빠른 확인

라이브러리는 어떻게 만드나요?

요약

라이브러리는 여러 앱에서 재사용할 코드를 패키징합니다. 워크스페이스 안에서 ng generate library를 사용해 생성하면 src/lib, public-api.ts, ng-package.json, 동료 의존성이 포함된 package.json이 기본으로 만들어집니다. --project로 코드를 추가하고, 독립 실행형 구성 요소를 선호하며, 각 라이브러리의 목적을 명확히 유지하세요.

자주 묻는 질문

“ng generate로 라이브러리 만들기” 강의는 무료인가요?

네 — “ng generate로 라이브러리 만들기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Angular Academy 강의 전체를 잠금 해제할 수 있습니다. Angular Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“ng generate로 라이브러리 만들기”에서 뭘 배우나요?

라이브러리 프로젝트의 기본 구조를 생성합니다. 브라우저에서 직접 실행하는 실습 코드로 Angular Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Angular Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Angular Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“ng generate로 라이브러리 만들기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Angular Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Angular Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. ng generate로 라이브러리 만들기
  2. 공개 API와 진입점
  3. ng-packagr로 빌드하기
  4. npm에 게시하기
← Angular Academy(으)로 돌아가기