이어서 Angular.io 프로젝트 구성에 대해 살펴보겠습니다.
Angular.io의 quickstart 가이드에 따르면 src 폴더는 angular 컴포넌트 및 스타일, 이미지 등 app에서 사용할 요소를 정의하며, 그 외의 폴더는 app의 빌드, 테스트, 배포, 문서화 등의 설정을 정의한다고 합니다. 우리는 src 폴더에서 열심히 폭풍 코딩을 하고 이후에 프로젝트 루트 폴더의 각 설정파일을 이용해 각종 셋팅을 한다고 보시면 되겠습니다.
파일 | 목적 |
e2e/ | End-to-end 테스트를 위한 폴더로 src 폴더와는 분리되야 한다고 합니다. 테스트시 e2e폴더의 내용으로 테스트 용 app 프로세스가 별도로 생성되기 때문이라고 합니다. tsconfig.e2e.json 파일에서 test 설정이 가능합니다. |
node_modules/ | 프로젝트 생성시 Node.js가 angular.io 실행을 위한 3rd party NPM 모듈을 이 폴더에 생성합니다. |
.angular_cli.json | Angular CLI에서 프로젝트 실행을 위한 로컬 설정을 담는 파일입니다. 프로젝트 별로 할당됩니다. |
.editorconfig | editor 프로그램을 사용하여 angular 프로그래밍을 할때 에디터의 설정을 지정한 파일입니다. 대부분의 에디터에서 이 설정파일을 지원한다고 합니다. |
.gitignore | git에 프로젝트를 등록하고 관리할 때 자동생성되는 파일까지 git에 커밋하는 현상을 막기 위한 설정파일입니다. |
karma.conf.js | ng test 명령을 사용하여 단위 테스트를 할때 사용되는 설정파일입니다. |
package.json | 프로젝트 생성시 추가되는 NPM 모듈을 관리하는 파일입니다. custom NPM 모듈을 만드신 경우 여기에 정보를 추가하면 된다고 합니다. |
protractor.conf.json | ng e2e 명령을 사용하여 End-to-end 테스트를 할떼 사용되는 설정파일 입니다. |
README.md | 프로젝트의 기본 document이며, 프로젝트 생성시 자동으로 생성됩니다. |
tsconfig.json | typescript 컴파일을 위한 설정입니다. 이 부분은 뒤에서 설명하겠습니다. |
tslint.json | ng lint 명령을 사용할때 사용되는 설정파일 입니다. |
angular 프로젝트의 기본 구성을 봤으니 이제 소스 파일 구성을 보겠습니다.
파일 | 목적 |
app/app.component. {ts, html, css, spec.ts} | HTML 템플릿, CSS 스타일시트와 함께 Application에 포함된 컴포넌트 구성에서 root 컴포넌트에 해당하는 AppComponent를 정의합니다. |
app/app.module.ts | Angular의 application component 구성을 정의하는 AppModule을 선언합니다. ng generate module 명령으로 모듈을 생성하면 이 파일에 해당 모듈이 정의됩니다. 초기 생성시는 AppComponent만 선언되어 있습니다. |
assets/* | 공통으로 사용하는 이미지 파일 등을 보관하는 폴더입니다. |
environments/* | 프로젝트 빌드시 App에서 사용할 환경변수가 담긴 파일이 위치하며, 해당 파일들은 빌드 후 즉석에서 교체된다고 합니다. 설명으로 볼때 저희가 건드리는 게 아니라, 빌드 과정에서 자동으로 생성되서 실행단계 때 읽히는 것으로 보입니다. |
favicon.ico | 브라우저에서 특정 사이트에 접속하면 그 사이트의 아이콘이 title 영역 제일 왼쪽에 뜨죠? 그 아이콘 파일입니다. |
index.html | 이건 굳이 설명 안해도 다들 아실거라고 봅니다. |
polyfills.ts | 브라우저마다 웹 표준을 지원하는 정도가 다 다르다고 합니다. 그러한 차이를 없애고 모든 브라우저에서 똑같은 기능을 지원하도록 도와주는 javascript 라이브러리를 로드하기 위한 용도라고 합니다. |
styles.css | 프로젝트 내 모든 페이지에 공통적으로 적용되는 CSS style을 정의하는 용도로 사용합니다. |
test.ts | 단위 테스트를 할때 진입 포인트로 사용되는 파일입니다. |
tsconfig.{app|spec}.ts | app - Angular 프로젝트 컴파일을 위한 typescript 컴파일러 설정 파일입니다. |
spec - 단위 테스트를 위한 typescript 컴파일러 설정 파일입니다. |
» 프로젝트의 src 폴더의 파일 구성을 보시면 자바스크립트 파일 대신 평소에는 못 보던 파일 확장자가 보이실 겁니다.
바로 .ts 라는 확장자인데요. typescript 소스파일입니다.
angular.io 는 바로 이 typescript를 기반으로 하고 있으므로 우리는 이걸 또 공부해야 하는군요........................할 게 점점 늘어나네 으아아아아
typescript 파일은 컴파일되면서 javascript 파일로 변환되어 Node.js 위에서 실행된다고 합니다.
즉, ng 명령으로 실행되는 angular-cli 모듈은 typescript 컴파일 -> Node.js 에서 프로젝트 실행 과정을 한번에 처리할 수 있도록 하는거네요.
typescript 문법은 인프런 같은 동영상 강의 사이트에서 배울 수 있으므로 여기서 따로 설명하지는 않겠습니다.
우리 목적은 Angular.io 를 이해하는게 우선이니까요.
그럼 다음에는 Angular 프로그래밍을 시작하겠습니다~
'Web 개발 (업데이트 없음)' 카테고리의 다른 글
Angular 기본 구조 이해 #2 (0) | 2018.10.28 |
---|---|
Angular 기본 구조 이해 #1 (0) | 2018.10.28 |
Angular CLI 로 Angular 환경 셋팅하기 #2 (0) | 2018.10.28 |
Angular CLI 로 Angular 환경 셋팅하기 #1 (0) | 2018.10.28 |
MongoDB 계정 설정 및 인증 절차 (0) | 2018.10.28 |