기본 콘텐츠로 건너뛰기

[Angular] App 만들기 & 구조 알아보기

[Angular] App 만들기 & 구조 알아보기

안녕하세요.

어제는 Angular 설치에 대해서 포스팅을 했었는데요. 오늘은 App을 만들고 구조에 대해 간단히 알아보겠습니다.

- Aungular 설치는 여기에서 확인!

1. Angular App 만들기!!

Angular App은 Angular CLi 명령어를 통해 쉽게 생성할 수 있습니다.

( CLi 란? command Line Interface의 약자로, 터미널창에서 명령어를 쳐서 프로그램을 수행하는 것을 의미합니다.)

아래와 같이 명령어를 입력하면 Angular가 자동으로 App을 생성해줍니다.

ng new MyFristApp

[설치하고 있는 화면]

2. App이 생성됐다면, Angular 구조를 알아봅시다.

1) App을 Atom에서 열기

생성된 폴더로 이동하여 atom . 을 입력하면 해당경로로 atom이 실행됩니다. ( Atom 설치하는 방법 )

cd MyFristApp atom .

[ 아래 화면과 같이 수행 ]

2) Atom 화면이 열리면 왼쪽에 생성된 파일을 확인할 수 있습니다.

여기서 src 폴더에 코딩을 하면 됩니다. 어떤 용도인지 하나씩 알아봅시다.

a) 먼저 src 폴더 위에 있는 node_modules 폴더는 node package를 보관하는 폴더입니다. 여기는 라이브러리 저장소라고 보시면 될 것 같습니다. 따로 코딩은 안해요! ( 다른 Project를 가져올때 npm install 명령어를 수행하면 package.json 파일에 설정된 내용을 자동으로 node_modules에 설치해줍니다. 따로 복사를 안해도 되니까 매우 편리해요! )

b) 이제 src 폴더에 있는 내용을 알아봅니다. 먼저!! index.html 입니다. 웹을 시작하는 첫번째 시작점입니다. 여기서 유심히 봐야 할 부분은 바로 부분 입니다. 바로 이부분이 App Component로 연결되어 App의 시작을 알려줍니다. (지금 바로 이해할 필요는 없습니다.. 이런게 있구나 정도 알면 될 것 같습니다.)

c) src/app 폴더에는 app이 수행될 코드들을 입력하는 곳 입니다. 실제 우리가 코딩할 부분은 바로 여기입니다. 이중에 app폴더는 root폴더라고 생각하시면 됩니다. 매우 중요한 폴더입니다. 어떤 용도인지 하나씩 알아봅시다.

c-1) app.component.css : 웹페이지의 스타일을 설정하는 파일 입니다. css 프로그래밍을 하는 방법을 알아야겠죠?

c-2) app.component.html : 웹페이지의 View를 담당하는 파일 입니다. html을 이용하여 코딩하면 되겠습니다.

c-3) app.component.spec.ts : Unit Test를 위한 스펙을 설정하는 파일 입니다. ng test 명령어로 수행합니다. (사실 저도 안써봐서 잘 모르겠어요 ㅠㅠ)

c-4) app.component.ts : View의 내용을 Control 하기 위한 소스코드를 입력하는 파일입니다. MVC 모델을 생각한다면 C : Control 부분입니다. 가장 많은 코딩이 들어가는 파일입니다.

c-5) app.module.ts : component에서 사용할 라이브러리를 선언하는 파일입니다. 여기서 미리 선언을 해야 Angular가 알아먹습니다.

여기까지 간단하게 구조에 대해 알아봤습니다. 사실 App Conponent를 Root의 역할을 하는 곳이라 여기에는 많은 코딩을 하지는 않습니다. 다만 앞으로 Component를 만들면 구조가 같기 때문에 미리 간단하게 설명드린겁니다.

3. App 설치를 하고 구조도 조금 알았으니, 이제 모든 프로그래밍 언어를 배우는 사람들의 첫번째 단계인, Hello World 를 찍어보겠습니다.

1) 먼저 src/app/app.component.html 파일을 열어주세요.

2) 기존에 있는 내용은 싹 지워버리시고, Hello World 를 입력하고 저장합니다.

3) 이제 App이 설치되어 있는 폴더로 가서 아래와 같이 명령어를 입력합니다.

ng serve --open

[ 컴파일을 수행하고 완료되면 자동으로 웹을 열어줍니다. ] 서버중지는 컨트롤 + C

http://localhost:4200/ 으로 접속하시면 Hello World 글자를 볼 수 있습니다.

여기까지 Angualr App 설치 및 간단한 구조를 알아보고, Hello World까지 찍어봤습니다.

다음 포스팅부터는 Angualr에 대해서 더 자세히 들어가보겠습니다.

좋은 하루 되셔요!

from http://ganggu.tistory.com/3 by ccl(A) rewrite - 2020-03-06 16:54:45

댓글

이 블로그의 인기 게시물

[django] django rest framework 로그인 과정 | 장고 로그인 | 인증...

[django] django rest framework 로그인 과정 | 장고 로그인 | 인증... django 는 기능이 참 너무 많다 ^^; 지금은 서버는 django로, 프론트는 angular를 붙여서 간단한 웹을 만들어 보려고 한다. 웹 만들때 항상 회원가입/로그인 기능은 맨 앞에 구현한다. 어떻게 구현하면 좋을까... 찾아보다가 이 기능을 구현할 수 있는 방법이 너무 많아서 정보를 찾기 더 어려웠다. 일단 나는 django에서 django rest framework라는 것을 사용해서 API를 만드려고 한다. 순수 django 튜토리얼에는 바로 template 랑 연결해서 설명하는 부분이 많았다. 나는 그냥 API 만 만들고 싶다고!! 그래서 찾은 것이 django REST framework. https://www.django-rest-framework.org/api-guide/authentication django REST framework 설치 using pip pip install djangorestframework settings.py INSTALLED APPS 에 추가해야함 INSTALLED_APPS = [ ... 'rest_framework', ] django REST framework 에서도 인증 관련해서 제공하는 것이 1개가 아닌 여러 개다. 나는 그중에 TokenAuthentication을 이용해서 로그인을 구현해 보려고 한다. TokenAuthentication Token authentication is appropriate for client-server setups, such as native desktop and mobile clients. 이렇게 나와있어서 내가 하려는 것과 일치해서 이걸로 결정 ~ 솔직히 처음 로그인을 구현하려고 하면 도대체 그 과정이 어떻게 되는지 모를 수 도 있다. 나는 쉽게 정리하면 아래와 같은 과정이라고 생각한다. 로그인 로그아웃...

(주)레터플라이 채용 정보: 프로그래밍을 생각하면 가슴이 뛰는 개발자...

(주)레터플라이 채용 정보: 프로그래밍을 생각하면 가슴이 뛰는 개발자... Angular.js, Python, MySQL 중 한 가지 언어에 뛰어나신 분도 좋고 개발 업무 전반적으로 센스가 있으신 분도 환영합니다. 맡은 업무를 성실하게 수행해 나갈 수 있는 책임감과 태도를 갖고계신 분, 그리고 항상 새로운 방법론에 도전하고 포기를 모르는 분일수록 저희와 더욱 잘 맞을 것 같습니다. Angular.js, Python, MySQL 중 한 가지 언어에 뛰어나신 분도 좋고 개발 업무 전반적으로 센스가 있으신 분도 환영합니다. 팀 내 뛰어난 풀스택 개발자분들이 Angular.js, Python, MySQL 모두 작업 가능하시니 오셔서 함께 배우며 즐겁게 작업하시면 됩니다. 맡은 업무를 성실하게 수행해 나갈 수 있는 책임감과 태도를 갖고계신 분, 그리고 항상 새로운 방법론에 도전하고 포기를 모르는 분일수록 저희와 더욱 잘 맞을 것 같습니다. 개발 업무: 레터플라이의 핵심 기능인 편지, 사진을 제작하는 레터에디터, 포토에디터 개발. 이 기능들은 "모바일 웹을 통한 출력제품 생산 자동화 기술"(특허 출원 준비중)로서 레터플라이에서 자체개발했습니다. 근무 지역: 광화문역 5번출구 바로 앞 근무 환경: 책임과 존중을 중요시하는 수평적인 분위기, 도전적이며 서로에게 배우는 문화 근무 시간: 10-19시, 출근시간 자유 지정. 급여: 연봉/스톡옵션 협의 지원 방법: 팀 지원하기 더 많은 내용은 더 많은 내용은 더팀스 에서 확인하세요! from http://theteams.tistory.com/721 by ccl(A) rewrite - 2020-03-20 09:20:18

jqxGrid 정렬, 필터 메뉴 숨기기

jqxGrid 정렬, 필터 메뉴 숨기기 How I can remove filter to particular grid column - Angular, Vue, React, Web Components, Javascript, HTML5 Widgets Hi, I tried that it's working. I set properties to those columns as sortable: false, filterable: false. but when I clicked on the column one drop down is appearing with options "sort ascending", "sort descending", "remove sort" and those are all in disable www.jqwidgets.com from http://devesim.tistory.com/90 by ccl(A) rewrite - 2020-03-11 04:20:29