ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Angular CLI 사용법
    앵귤러/앵귤러 팁모음 2017. 8. 14. 08:50

    Angular CLI

    앵귤러4에서 앵귤러를 제대로 사용하기 위해서는 앵귤러CLI(Command Line Interface)의 사용법을 배울 필요가 있다.

    프로젝트 생성, 서버가동, 컴포넌트 등 각종 클래스 생성 및 배포용 앱 작성 까지 다양하게 사용할 수 있다.

     

    설치

    홈페이지 : https://cli.angular.io

    설치 : npm install –g @angular/cli

    도움말 : ng help

     

    프로젝트 생성 : ng new PROJECT-NAME

     

    서버 가동 : ng serve

    서버 가동 후 호출 URL : http://localhost:4200/

    서버 가동시 디폴트 호스트 및 포트설정 : ng serve –host 0.0.0.0 –port 4201

     

    서버 가동 및 브라우저 호출 : ng serve –o

     

    ng generate(컴포넌트, 디렉티브, 파이프, 서비스 생성)

    명령어 : ng generate 또는 ng g

     

    컴포넌트 생성 : ng g component my-new-component –flat

    hero-detail컴포넌트를 생성해 보자

    명령어 : ng g component hero-detail –flat

    --flat옵션은 hero-detail 폴더를 생성하지 않음

    D:\angular\angular-tour-of-heroes> ng g component hero-detail --flat

    installing component

      create src\app\hero-detail.component.css

      create src\app\hero-detail.component.html

      create src\app\hero-detail.component.spec.ts

      create src\app\hero-detail.component.ts

      update src\app\app.module.ts

     

    src/app/hero-detail.component.ts

    import { Component, OnInit } from '@angular/core';

     

    @Component({

      selector: 'app-hero-detail',

      templateUrl: './hero-detail.component.html',

      styleUrls: ['./hero-detail.component.css']

    })

    export class HeroDetailComponent implements OnInit {

     

      constructor() { }

     

      ngOnInit() {

      }

     

    }

     

    src/app/hero-detail.component.spec.ts

    import { async, ComponentFixture, TestBed } from '@angular/core/testing';

     

    import { HeroDetailComponent } from './hero-detail.component';

     

    describe('HeroDetailComponent', () => {

      let component: HeroDetailComponent;

      let fixture: ComponentFixture<HeroDetailComponent>;

     

      beforeEach(async(() => {

        TestBed.configureTestingModule({

          declarations: [ HeroDetailComponent ]

        })

        .compileComponents();

      }));

     

      beforeEach(() => {

        fixture = TestBed.createComponent(HeroDetailComponent);

        component = fixture.componentInstance;

        fixture.detectChanges();

      });

     

      it('should be created', () => {

        expect(component).toBeTruthy();

      });

    });

     

    src/app/hero-detail.component.html

    <p>

      hero-detail works!

    </p>

     

    hero-detail.component.css파일은 빈파일로 만들어진다.

     

    app.module.ts파일에 컴포넌트가 자동으로 추가됨(--flat옵션을 사용한 경우에만 변경됨)

    src/app/app.module.ts

    import { BrowserModule } from '@angular/platform-browser';

    import { FormsModule } from '@angular/forms';

    import { NgModule } from '@angular/core';

     

    import { AppComponent } from './app.component';

    import { HeroDetailComponent } from './hero-detail.component';

     

    @NgModule({

      declarations: [

        AppComponent,

        HeroDetailComponent

      ],

      imports: [

        BrowserModule,

        FormsModule

      ],

      providers: [],

      bootstrap: [AppComponent]

    })

    export class AppModule { }

     

    서비스 생성 : ng g service hero –m app

    hero서비스를 생성하고 모듈의 providers에 추가함

    src/app/hero-search.service.ts

    import { Injectable } from '@angular/core';

    import { HttpClient } from '@angular/common/http';

     

    import { Observable } from 'rxjs/Observable';

    import 'rxjs/add/operator/map';

     

    import { Hero } from './hero';

     

    @Injectable()

    export class HeroSearchService {

     

      constructor(private http:HttpClient) { }

     

      search(term:string): Observable<Hero[]>{

        return this.http

        .get(`http://localhost:3000/heroes/?name=${term}`)

        .map(response => response as Hero[]);

      }

     

    }

     

    ng build(배포용 앱 생성)

    dist/ 폴더에 배표용 앱을 저장합니다.

    프로젝트를 빌드하거나 제공하는 모든 명령 (build / serve / e2e)은 출력 디렉토리 (기본적으로 dist)를 삭제합니다. 이것은 --no-delete-output-path (또는 --delete-output-path = false) 플래그를 통해 비활성화 할 수 있습니다.

    ng build --prod --base-href /myApp/

    --prod : 운영모드로 빌드(개발 모드는 --dev)

    --base-href /myApp/ : index.html파일의 base태그를 <base href="/myApp">으로 설정한다.

     

    '앵귤러 > 앵귤러 팁모음' 카테고리의 다른 글

    앵귤러4 사용을 위한 프로그램 설치  (0) 2017.08.15

    댓글

Designed by Tistory.