강좌 & 팁
글 수 2,412
2014.11.17 23:02:45 (*.134.169.166)
35566
(**) grunt-init 란?
프로젝트를 하다보면
초기 준비 작업에 생각보다 무척 많은 시간이 소요됩니다.
더구나 초기 작업은 자주 하는 것이 아니라 시간이 지나면 까먹습니다.
또 자신 만의 독특한 초기 구축 방법이 있어서
문서로 따라하기로는 한계가 있습니다.
그래서 어떤 자신만의 환경이나 공통 적인 환경을
한방에! 처리하면 좋겠다고 생각하게 됩니다.
이때 필요한 것이 grunt-init 입니다.
이 grunt-init 를 잘 사용하면
초기 환경 구축을 무척 쉽게 구축할 수 있습니다.
초기 개발 환경 구축을 하는 것을 보통
Scaffolding 이라고 합니다.
이번 강좌는 이 grunt-init 라는 것을 다루게 될 겁니다.
(**) grunt-init 설치
이 grunt-init 는 일반 명령으로 동작되어야 하므로
다음과 같이 전역으로 설치합니다.
$ npm install -g grunt-init
(**) grunt-init 버전 보기
다음과 같은 명령으로 grunt-init 와 관련된 버전을 볼 수 있습니다.
$ grunt-init --version
grunt-init v0.3.2
grunt v0.4.5
제 시스템에 설치된 버전은
grunt-init 가 0.3.2 이고
grunt 는 0.4.5 이네요..
(**) grunt-init 도움말 보기
다음과 같은 명령으로 도움말을 볼 수 있습니다.
$ grunt-init --help
grunt-init: Generate project scaffolding from a template. (v0.3.2)
Usage
grunt-init [options] [template]
Options
--help, -h Display this help text.
--no-color Disable colored output.
--debug, -d Enable debugging mode for tasks that support it.
--stack Print a stack trace when exiting with a warning or fatal error.
--force, -f A way to force your way past warnings. Want a suggestion? Don't
use this option, fix your code.
--no-write Disable writing files (dry run).
--verbose, -v Verbose mode. A lot more information output.
--version, -V Print the grunt version. Combine with --verbose for more info.
Available templates
(No templates found)
Templates that exist in the /home/frog/.grunt-init directory may be run with
"grunt-init TEMPLATE". Templates that exist in another location may be run with
"grunt-init /path/to/TEMPLATE". A template is a directory that must contain, at
the very minimum, a template.js file.
For more information, see http://gruntjs.com/project-scaffolding
(**) grunt-init 기본 템플릿 위치
grunt-init 는 명령만 존재하고 템플릿들이 없습니다.
그냥 명령일 뿐이죠..
그래서 grunt-init 만 설치해서는 할 수 있는 것이 아무것도 없습니다.
그래서 초기화 과정에 참조되는 템플릿들은 각자 따로 만들거나
남들이 만들어 놓은 것을 사용해야 합니다.
이렇게 만든 템플릿들은 grunt-init 가 참조하기 위해서는
리눅스에서는 다음 디렉토리 하부에 있어야 합니다.
~/.grunt-init/
즉 사용자 홈 계정에 .grunt-init 란 디렉토리 밑에
필요로 하는 템플릿 관련 디렉토리가 있어야 합니다.
(**) 공식 지원 템플릿
grunt 에서 공식적으로 지원하고 있는 템플릿은
다음 URL 로 찾아 볼수 있습니다.
https://github.com/gruntjs?query=grunt-init
여기서 볼수 있는 목록을 정리하면 현재 다음과 같습니다 .
grunt-init-gruntfile
grunt-init-commonjs
grunt-init-jquery
grunt-init-gruntplugin
grunt-init-node
grunt-init-gruntfile-sample
grunt-init-gruntplugin-sample
grunt-init-node-sample
grunt-init-commonjs-sample
grunt-init-jquery-sample
이렇게 제공된 템플릿을 쓰고 싶다면 우선 다운로드 해서 설치 해야 합니다.
grunt-init-gruntplugin 를 쓰고 싶다면
다음과 같이 다운로드 해서 설치 합니다.
먼저 .grunt-init 가 홈 계정에 없다면 다음과 같이 만듭니다 .
$ cd ~
$ mkdir .grunt-init
이후 git 명령을 통하여 다음과 같이 설치 합니다.
$ git clone https://github.com/gruntjs/grunt-init-gruntplugin.git ~/.grunt-init/gruntplugin
(**) gruntplugin 템플릿 사용해 보기
자 이제 grunt-init 을 이용해서 gruntplugin 을 하나 만들어 봅시다.
먼저 템플릿을 만들 디렉토리를 하나 만듭니다.
$ cd ~/grunt/init/
$ mkdir init_temple
$ cd init_temple
이제 템플릿을 적용해 봅니다.
$ grunt-init gruntplugin
뭐라 마구 묻는데 신경쓰지 말고 엔터만 누릅니다.
여기서는 단지 시험해 보고 싶은 거니까요..
그러면 최종적으로 다음과 같은 내용이 생길 겁니다.
$ pwd
/home/frog/grunt/init/init_temple
$ ls -al
합계 40
drwxrwxr-x 4 frog frog 4096 9월 10 21:13 .
drwxrwxrwx 3 frog frog 4096 9월 10 21:12 ..
-rw-rw-r-- 1 frog frog 31 9월 10 21:13 .gitignore
-rw-rw-r-- 1 frog frog 191 9월 10 21:13 .jshintrc
-rw-rw-r-- 1 frog frog 1625 9월 10 21:13 Gruntfile.js
-rw-rw-r-- 1 frog frog 1044 9월 10 21:13 LICENSE-MIT
-rw-rw-r-- 1 frog frog 2430 9월 10 21:13 README.md
-rw-rw-r-- 1 frog frog 810 9월 10 21:13 package.json
drwxrwxr-x 2 frog frog 4096 9월 10 21:13 tasks
drwxrwxr-x 4 frog frog 4096 9월 10 21:13 test
이렇게 자동적으로 필요한 것들을 만들어 주게 됩니다.
이제 자신만의 템플릿을 어떻게 만드는지는 다음 강좌에서 봅시다.