MEAN Stack Front to Back (MEANAuthApp)

Slides:



Advertisements
Similar presentations
1 강. 안드로이드 개요 및 개발 환경 구축 - 안드로이드 개요 -JDK 설치 -Path 설정 - 이클립스 설치 -ADT, SDK 설치 Lecturer Kim Myoung-Ho Nickname 블스
Advertisements

앱인벤터 기초과정 (1차시) ㈜헬로앱스 강사: 김영준 목원대학교 겸임교수.
2016 유성환 Hybrid MOBILE.
엑셀리포트를 이용한 날짜별 리포트 자동 저장 방법
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
기초C언어 제1주 실습 강의 소개, C언어 개요, Cygwin/Eclipse 사용 컴퓨터시뮬레이션학과 2016년 봄학기
IoT(사물인터넷) 보안 2016년 2학기 4. 라즈베리파이 카메라.
MEAN Stack Front to Back (MEANAuthApp)
자바 언어의 이해 Understanding of Java Programming
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Image & Video processing
Power Java 제3장 이클립스 사용하기.
부트스트랩(Bootstrap) 트위터사가 만든 HTML, CSS, JS 개발을 위한 오픈소스 툴킷
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
Power Java 제2장 자바 개발 도구.
Ch. 1 LINUX SYSTEM.
9. Deploying mean applications
MEAN Stack Front to Back (MEANAuthApp)
MEAN Stack Front to Back
Ubiquitous Computing Practice - Part I (Installation) -
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
Java 기초 (Java JDK 설치 및 환경설정)
Root Filesystem Porting
C / C++ Programming in multi platform
MEAN Stack Front to Back (MEANAuthApp)
1. C++ 시작하기.
웹 어플리케이션 보안 2016년 2학기 8. MEAN APP – USER CRM.
Root Filesystem Porting
MEAN Stack Front to Back (MEANAuthApp)
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
Git 사용법 GitHub 가입 GitHub 새 저장소 만들기 Git 설치 로컬 저장소 만들기 로컬 저장소와 원격 저장소 연결
Cross Compiler를이용한 커널 컴파일 및 포팅
웹 어플리케이션 보안 2016년 2학기 10. Workflow tools.
인터넷응용프로그래밍 JavaScript(Intro).
반응형 웹 프로젝트
MEAN Stack Front to Back
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
Go Lang 리뷰 이동은.
MEAN Stack Front to Back (MEANAuthApp)
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
Day-27(Tue_10.16) 파일 서비스 설정 AD 가 설치된 환경에서 DHCP 설치 할 경우 권한 자격을 주어야함.
MEAN Stack Front to Back (MEANAuthApp)
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
웹디자인
자바 5.0 프로그래밍.
Git 사용하기 Git 소개 Git 사용 환경 GitHub 가입 및 원격 저장소 만들기 Git 설치 Git 최초 설정
리눅스 커널 프로그래밍 환경 구축 IT EXPERT 리눅스 커널 프로그래밍 Author : Byungki Kim
1. 스크립트 작성 마법사 2. NSIS 스크립트 컴파일
MEAN Stack Front to Back (MEANAuthApp)
STS 에서 웹 서버 설치 방법.
암호학 응용 Applied cryptography
DK-128 개발환경 설정 아이티즌 기술연구소
시스템 인터페이스 Lab#5 쉡 실습.
Introduction to JSP & Servlet
암호학 응용 Applied cryptography
13주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
웹과 모바일 홈페이지의 이해와 제작 HTML태그와 CSS로 꾸미기
9 브라우저 객체 모델.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
웹어플리케이션보안 난수화 토큰인증 중부대학교 정보보호학과 이병천 교수.
Docker Study 6~7.
Platform Builder 사용법.
K PaaS-TA 앱 운영.
JAVA 프로그래밍 16장 JNLP.
MEAN Stack Front to Back (MEANAuthApp)
MEAN Stack Front to Back (MEANAuthApp)
Presentation transcript:

MEAN Stack Front to Back (MEANAuthApp) 5. Angular 4 Components & Routes

목차 1. 환경 구축 2. Express Setup & Routes 3. User Model and Register 4. API authentication and Token 5. Angular 4 Components & Routes 6. Register Component, Validation & Flash messages 7. Auth Service & User Registration 8. Login & Logout 9. Protected Requests & Auth Guard 10. App Deployment to Heroku

이 장에서 할 일 Frontend 웹페이지 작성 Angular 6 프레임워크 이용 https://angular.io/ https://cli.angular.io/

Angular Angular 란? 구글이 제공하는 Frontend framework https://angular.io/ 현재 버전 Angular 6

Angular CLI https://cli.angular.io/ The Angular CLI makes it easy to create an application that already works, right out of the box. It already follows our best practices! 웹서비스를 쉽게 제작할 수 있는 Command Line Interface 도구

Angular CLI 사용 방법 Angular/cli 설치 새로운 App 생성 App 폴더로 이동 App 시작 잘 만들어진 기본 웹페이지 포맷을 제공

Angular 환경 설정 Angular cli 설치 새로운 App 생성 > npm install -g @angular/cli 컴퓨터 내 어디에서든 사용할 수 있도록 -g 옵션으로 설치 > npm install --save-dev @angular/cli@latest 에러 발생시 최신버전으로 로컬 설치 새로운 App 생성 현재 프로젝트 폴더로 이동 > ng new angular-src angular-src라는 이름으로 새로운 앱 생성

Angular-src App 생성 새로운 폴더 angular-src 생성 각종 패키지/파일들 자동 설치

Angular-src App 생성 Angular의 출력 디렉토리를 public으로 변경 .angular-cli.json 파일 수정

App 실행 App 폴더로 이동 App 실행 브라우저로 확인 > cd angular-src > ng serve http://localhost:4200/ 4200은 Angular의 기본 포트번호

app.module.ts meanauthapp/angular-src/src/app/app.module.ts 메인 앱 모듈 각종 모듈, 컴포넌트, 서비스들을 결합하는 장소 메인 앱 컴포넌트를 포함, 선언, 시작

app.component.ts meanauthapp/angular-src/src/app/app.component.ts 메인 앱 컴포넌트 지시자 Html 파일 Css 파일 title 변수 선언

app.component.html meanauthapp/angular-src/src/app/app.component.html 브라우저의 메인 화면 모습 title = app 변수 반영됨

Typescript Typescript란? https://www.typescriptlang.org/ 마이크로소프트가 개발하고 관리하는 오픈소스 프로그래밍 언어 확장자는 *.ts 자바스크립트의 확장버전으로 컴파일하여 자바스크립트 출력

컴포넌트 생성하기 홈페이지 제작에 필요한 세부 컴포넌트들 컴포넌트 생성하기 Navbar : 메뉴 내비게이션 Login : 로그인 페이지 Register : 등록 페이지 Profile : 프로필 페이지 Dashboard : 사용자 대쉬보드 Home: 홈페이지 컴포넌트 생성하기 angular-cli 이용하여 컴포넌트 생성 app 폴더 안에 components 폴더 생성 Components 폴더로 이동 > ng g component 컴포넌트명

Navbar 컴포넌트 navbar.component.html Navbar 컴포넌트 생성 > ng g component navbar Navbar 폴더 내에 4개의 파일이 생성됨 navbar.component.ts

Navbar 컴포넌트 ng g 명령으로 생성된 navbar 컴포넌트는 app.module.ts에 자동 등록됨

Navbar 컴포넌트 Navbar.component.html을 화면에 출력하려면 App.component.html에 <app-navbar></app-navbar> 포함시킴

나머지 컴포넌트들 생성 >ng g component login >ng g component register >ng g component home >ng g component dashboard >ng g component profile

라우터 생성 Index.html 파일 수정 Meanauthapp/angular-src/src/index.html Bootstrap 스타일시트 적용 Bootstrap.min.css 제목 수정 등 https://bootswatch.com/ https://bootswatch.com/4/sandstone/bootstrap.css

라우터 생성 App.module.ts 파일 수정 RouterModule 읽어오기 appRoutes 변수 생성 각 루트에 컴포넌트 등록 imports에 RouterModule 등록

라우터 생성 App.component.html 파일에 router-outlet 추가

메뉴 만들기 Navbar 이용 Bootstrap 스타일 메뉴 작성 https://getbootstrap.com/docs/3.3/examples/starter-template/ 소스보기 - Nav 부분 복사

메뉴 만들기 Navbar/navbar.component.html 파일 작성 복사한 내용 붙여넣기 필요에 따라 수정

메뉴 만들기 Navbar/navbar.component.html <nav class="navbar navbar-default">   <div class="container">     <div class="navbar-header">       <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">         <span class="sr-only">Toggle navigation</span>         <span class="icon-bar"></span>       </button>       <a class="navbar-brand" href=“/">MEAN Auth App</a>     </div>     <div id="navbar" class="collapse navbar-collapse">       <ul class="nav navbar-nav navbar-left">         <li [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}"><a [routerLink]="['/']">Home</a></li>       </ul>       <ul class="nav navbar-nav navbar-right">         <li [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}"><a [routerLinkActive]="['active']" [routerLink]="['/login']">Login</a></li>         <li [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}"><a [routerLinkActive]="['active']" [routerLink]="['/register']">Register</a></li>     </div><!--/.nav-collapse -->   </div> </nav>

메뉴 만들기 App.component.html 수정 완성!