Angular 17에서 독립 실행 모드에서 모듈을 가져오는 방법
Angular 17에서 독립 실행 모드에서 모듈을 가져오는 방법
독립 실행 모드에서 모듈을 가져오려면 다음 단계를 수행해야 합니다.
@angular/core 패키지의 loadModule 함수 사용
loadModule
함수는 독립 실행 모드에서 모듈을 동적으로 로드하는 데 사용됩니다. 이 함수는 두 개의 인수를 받습니다.
-
두 번째 인수는 옵션 객체입니다. 이 객체는 다음 속성을 가질 수 있습니다:
factory
: 모듈 팩토리를 지정합니다.providers
: 모듈 공급자를 지정합니다.
다음은 loadModule
함수를 사용하여 모듈을 가져오는 예입니다.
import { loadModule } from '@angular/core';
loadModule('MyModule').then((module) => {
// 모듈을 사용합니다.
});
import 키워드 사용
import
키워드를 사용하여 독립 실행 모드에서 모듈을 가져올 수도 있습니다. import
키워드를 사용하려면 다음 형식을 사용해야 합니다.
import { MyModule } from './my-module';
이 형식은 MyModule
모듈을 ./my-module
경로에서 가져옵니다.
NgModule 데코레이터의 imports 속성 사용
NgModule
데코레이터의 imports
속성을 사용하여 다른 모듈을 가져올 수 있습니다. 다음은 imports
속성을 사용하여 모듈을 가져오는 예입니다.
@NgModule({
imports: [
MyModule,
],
})
export class AppModule {}
이 예에서는 AppModule
모듈이 MyModule
모듈을 가져옵니다.
@NgModule 데코레이터의 providers 속성 사용
@NgModule({
providers: [
MyService,
],
})
export class AppModule {}
예제 코드
// my-module.ts
import { NgModule } from '@angular/core';
@NgModule({
declarations: [
MyComponent,
],
exports: [
MyComponent,
],
})
export class MyModule {}
// my-component.ts
import { Component } from '@angular/core';
@Component({
selector: 'my-component',
template: `
<h1>Hello, world!</h1>
`,
})
export class MyComponent {}
// main.ts
import { loadModule } from '@angular/core';
import { MyModule } from './my-module';
loadModule('MyModule').then((module) => {
// 모듈을 사용합니다.
const component = new module.MyComponent();
document.body.appendChild(component.elementRef.nativeElement);
});
이 코드는 다음과 같은 작업을 수행합니다.
MyModule
모듈을 정의합니다.MyComponent
컴포넌트를 정의합니다.loadModule
함수를 사용하여MyModule
모듈을 동적으로 로드합니다.- 로드된 모듈에서
MyComponent
컴포넌트를 가져옵니다. - 컴포넌트를 DOM에 추가합니다.
Angular 17에서 독립 실행 모드에서 모듈을 가져오는 대체 방법
import 키워드 사용
import { MyModule } from './my-module';
NgModule 데코레이터의 imports 속성 사용
@NgModule({
imports: [
MyModule,
],
})
export class AppModule {}
@NgModule 데코레이터의 providers 속성 사용
@NgModule({
providers: [
MyService,
],
})
export class AppModule {}
비교
다음 표는 Angular 17에서 독립 실행 모드에서 모듈을 가져오는 다양한 방법을 비교합니다.
방법 | 장점 | 단점 |
---|---|---|
loadModule 함수 | 동적 로딩 가능 | 코드가 더 복잡 |
import 키워드 | 코드가 간단 | 정적 로딩만 가능 |
NgModule 데코레이터의 imports 속성 | 코드가 간단 | 정적 로딩만 가능 |
NgModule 데코레이터의 providers 속성 | 코드가 간단 | 정적 로딩만 가능 |
어떤 방법을 사용해야 할까요?
사용할 방법은 특정 요구 사항에 따라 다릅니다. 다음은 몇 가지 권장 사항입니다.
- 모듈을 동적으로 로드해야 하는 경우
loadModule
함수를 사용하십시오. - 모듈을 정적으로 로드하고 코드를 간단하게 유지하려는 경우
import
키워드,NgModule
데코레이터의imports
속성 또는providers
속성을 사용하십시오.
angular