ExtJS를 제대로 사용하기 위해서는 SenchaCmd를 통하여 사용하셔야만 합니다.
SenchaCmd의 역할은 다음과 같습니다.
- Compress 배포 : Yui 또는 Closure로 하나의 파일로 압축하여 배포 할 수 있습니다.
- Jetty 서버 : SenchaCmd내부에는 별도의 WAS가 내장되있기때문에 별도의 서버설정이 필요가 없습니다.
- 실시간 Validation : 커맨드 명령어중 watch가 있는데 자바처럼 실시간으로 문법체크가 이루어지는 기능입니다.
0. Windows 개발시 추가설정
일부 Windows에서는 한글이 깨질수 있을수 있기때문에 윈도우즈 환경변수를 반드시 추가해주시길 바랍니다.
1. generate 명령어
generate 명령어란 최초 App생성시 반드시 진행되어야 하는 내용들입니다.
이 명령어로 실행시킬수 있는 것들 은 다음과 같습니다.
- generate workspace
- generate app
- generate package
- generate theme
1.1 generate workspace
workspace를 생성합니다.
sencha -sdk [SDK 경로] generate workspace [workspace 명]
workspace생성을 생략해도 문제는 없습니다.
단, 다중 App Module의 구현을 원하신다면 반드시 입력하셔야만 합니다.
workspace는 구조는 아래와 같습니다.
- .sencha : Sencha Config 파일 실질적으로 건들일은없습니다.
- build : build를 했을때 생기는 폴더
- ext : ExtJS 코어가 들어있는 폴더
- packages : 커스텀 패키지 또는 커스텀테마가 존재함
1.2. generate app
Line 1 : 먼저 theme-workspace로 이동을 합니다.
Line 2 :sencha -sdk [SDK 경로] generate app[ app 이름] [app위치할 경로]
ExtJS SDK경로는 workspace에 있는걸 가져다 쓰겠다는 뜻이기에 EXTJS SDK경로를 ext로 대체하였습니다.
-.sencha : Sencha Config 파일 실질적으로 건들일은없습니다.
- build : build를 했을때 생기는 폴더
- ext : ExtJS 코어가 들어있는 폴더
- packages : 커스텀 패키지 또는 커스텀테마가 존재함
- ThemeTest/.sencha : Sencha Config 파일 실질적으로 건들일은없습니다.
- ThemeTest/app : 실질적인 app 코드가 들어있습니다.
- ThemeTest/overrides : override 코드가 들어있습니다.
- ThemeTest/resources : resource파일입니다. image나 css는 반드시 이곳에 배치하시길 바랍니다.
- ThemeTest/sass : sass가 존재하는 폴더입니다. sass파일을 이곳에 위치시키시길 바랍니다.
- ThemeTest/app.js : app이 스타드 되자마자 실행되는 파일입니다.
- ThemeTest/app.json : app의 설정파일입니다. 사용할 Package 또는 Theme를 선택할수 있습니다.
- ThemeTest/index.html : app이 실질적으로 이곳에서 실행이 됩니다. JSP나 ASP 을 사용할때 이파일을 변경해서 연동하시길 바랍니다.
1.3 generate theme
주의 : generate package 또는 generate theme 모두 packages 폴더내에 생성됩니다. 생성시킬때 커맨드 명령어를 유의해주세요.
-. sencha : 자동생성되는 파일입니다.
- overrides : 오버라이드할 객체를 여기에 정의합니다.
-build : package build를 할때 생성되는 폴더입니다.
- sass/etc : 부가적인 유틸리티나 mixin(다중상속) 함수를 정의합니다.
- sass/src : sass/var에 따라서 조건분기를 통해 CSS 설정을 할때에 쓰입니다.
- sass/var : 실질적으로 sass 변수값을 수정할때 쓰이는 곳입니다.
- src : 주로 package 작성때에 쓰입니다.
-build.xml : 자동생성되는 파일입니다.
- package.json : package 또는 theme속성에 대해 정의하고 있습니다.
'ExtJS 기본 > 1. Sencha Cmd' 카테고리의 다른 글
SenchaCmd[3/3] - watch, refresh 명령어 (0) | 2019.11.29 |
---|---|
SenchaCmd[2/3] - build 명령어 (0) | 2019.11.27 |
댓글