SlideShare a Scribd company logo
전자정부 프레임워크
대시 보드 – JSON View 예제.(+RequireJS)
EMS 2 Team
진형은 사원
1. RequireJS 간단한 구조.
2. RequireJS를 활용한 Select 예제.
3. 구현한 Select기능을 모듈화.
1. RequireJS (1)
• RequireJS를 사용하는 이유..
: 대시보드의 경우, 화면을 담당하는 html과 순수 JS위주로 되어있다고 합니다.
즉, JS파일 내에서 다른 JS를 사용해야할 경우가 있습니다.
(ex jQuery사용, Ajax 호출, 암호화, 등등..)
이처럼 다양한 JS 모듈을 활용해야 할 경우, 의존성관리가 되지 않는 문제가
있었습니다. 이 때문에 Require JS를 사용하게 되었습니다.
또한, 자주 사용되는 JS(비즈니스 로직)을 모듈화하여,
추후에 재사용할 수 있도록 “사용자 모듈화”도 가능합니다.
예제는 requireJS 사용법과 “사용자모듈화” 이 두 부분을 위주로 작성하였습니다.
1. RequireJS (1)
Main.js
(requireJS setting)
Jquery.js
(Module)
Cryptograph.js
(Module)
Json2.js
(Module)
Require.js
Json2.js
(Module)
• 모듈 경로 지정 및 각 모듈의 의존성을 정의.
• 자주 사용하는 경우, 미리 로드하여 초기화
작업을 할 수 있다.
사용자정의.js
(Module)
1. RequireJS – main.js (2)
• Requirejs 구성환경 설정.
• baseUrl
: 기본적인 모듈 경로 지정
• Paths
: 사용할 모듈 경로 지정.
• Shim
: 모듈별 의존성 지정.
• Requirejs
최초 가져올 모듈을 정의,
초기화 함수 지정 가능.
1. RequireJS 간단한 구조.
2. RequireJS를 활용한 Select 예제.
3. 구현한 Select기능을 모듈화.
2. 예제화면.
src/main/webapp/htmlview
• Require([“사용하고자하는 모듈”],
• Sample.js 안에서
사용할 모듈(ex jquery, 암호화..)들을
미리 load하며, 초기화 기능을 정의합니다.
• 기능 구현의 경우, 추후에 html에서
접근 가능형태로 제공 해야하기 때문에,
객체 형식으로 작성합니다.
(자세한 내용은 3번에서 자세히 설명.)
2. Sample.js (1)
2. Sample.js (2)
1) 조회할 Select Query를 가져옵니다.
2) 암호화 모듈을 통해 쿼리를 암호화.
3) 암호화된 쿼리를 parameter형식으로 변환
* “_”문제 등으로 변환처리.
*$.param사용시 JSON형태로 인자값을 넣어줘
4) Jquery의 Ajax를 사용해 요청.
5) 요청이 정상적으로 성공할 경우, 결과값을
JSON 파싱하여 View(대시보드) 구현.
1
2
3
4
5
2. Sample.js (3)
• 작성된 class를, new연산자를 통해 생성합니다.
• 브라우저에서 최상위(Global)개념인
Window 객체에 생성한 객체를 넣고,
이후 html에서 Window.정의한객체.정의한메소드 를 통해 접근가능합니다.
2. main.html
src/main/webapp/htmlview/main.html
1. RequireJS 간단한 구조.
2. RequireJS를 활용한 Select 예제.
3. 구현한 Select기능을 모듈화.
3. sampleModule.js (1)
• 첫번째 예제와 달리, 모듈을 만드는 경우
Require가 아니라 define을 통해서 정의합니다.
• 의존성 형식은 동일합니다
[“사용할모듈”],function(로드될 모듈변수)
3. sampleModule.js (2)
1
2
3
4
5
• 세부기능은 위에서 설명과 동일하므로
• 생략하겠습니다.
3. sampleModule.js (3)
• sampleModule에서 정의한 객체를 반환합니다.
sampleModule.js
sampleModuleLoader.js
• sampleModuleLoader에서는
require를 이용하여 사용자 정의 모듈을
로드한 후 마찬가지로 html접근을 위해
Window객체에 추가합니다.
*재밋는건, 하위모듈(sampleModule)에서
상위모듈이 로드한 모듈(jQuery..)
역시 사용 가능합니다.
3. sampleModule.js (3)
src/main/webapp/htmlview/mainUsingModule.html

More Related Content

What's hot (11)

PDF
유엔진 BPM 커스터마이징 개발 방법
uEngine Solutions
 
PDF
DDD 구현기초 (거의 Final 버전)
beom kyun choi
 
PDF
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
DK Lee
 
PPT
SQLite Example
MinGi KYUNG
 
PPTX
Servlet Architecture
JU Chae
 
PDF
자바 서블릿과 세션 (Java Servlet, Session)
Yu Yongwoo
 
PPTX
Mvc pattern
Heo Seungwook
 
PPT
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
beom kyun choi
 
PDF
자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)
DK Lee
 
PPTX
Node.js + Express + MongoDB
Vincent Park
 
PPTX
(JPA 엔티티 매니저)JPA 기초강좌, 엔티티 매니저. 엔티티 매니저팩토리
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
유엔진 BPM 커스터마이징 개발 방법
uEngine Solutions
 
DDD 구현기초 (거의 Final 버전)
beom kyun choi
 
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
DK Lee
 
SQLite Example
MinGi KYUNG
 
Servlet Architecture
JU Chae
 
자바 서블릿과 세션 (Java Servlet, Session)
Yu Yongwoo
 
Mvc pattern
Heo Seungwook
 
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
beom kyun choi
 
자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)
DK Lee
 
Node.js + Express + MongoDB
Vincent Park
 
(JPA 엔티티 매니저)JPA 기초강좌, 엔티티 매니저. 엔티티 매니저팩토리
탑크리에듀(구로디지털단지역3번출구 2분거리)
 

Viewers also liked (8)

PDF
RequireJS
Sebastiano Armeli
 
PPTX
Lazy angular w/ webpack
Rich Snapp
 
PPTX
Angular 1 + es6
장현 한
 
PDF
주니어 개발자의 개인프로젝트 개발기
sung yong jung
 
PPTX
웹-프론트엔드 프레임워크를 고르기 위한 팁
WebFrameworks
 
PDF
혼자서 프로젝트 수행하기
JeongHun Byeon
 
PDF
Front-End 개발의 괜찮은 선택 ES6 & React
지수 윤
 
PDF
더 나은 개발자 되기
JeongHun Byeon
 
Lazy angular w/ webpack
Rich Snapp
 
Angular 1 + es6
장현 한
 
주니어 개발자의 개인프로젝트 개발기
sung yong jung
 
웹-프론트엔드 프레임워크를 고르기 위한 팁
WebFrameworks
 
혼자서 프로젝트 수행하기
JeongHun Byeon
 
Front-End 개발의 괜찮은 선택 ES6 & React
지수 윤
 
더 나은 개발자 되기
JeongHun Byeon
 
Ad

Similar to RequireJS를 이용한 모듈관리. (20)

PPTX
Nodejs, PhantomJS, casperJs, YSlow, expressjs
기동 이
 
PDF
Javascript 조금 더 잘 알기
jongho jeong
 
PPTX
4-1. javascript
JinKyoungHeo
 
PPTX
Node.js and react
HyungKuIm
 
PPT
Java script
영남 허
 
PDF
Node.js 기본
Han Jung Hyun
 
PPTX
코드리뷰 짝 매칭 프로그램 구현기
Yong Hoon Kim
 
PPT
엄준일 04일차 HTML/Javascript 교육
준일 엄
 
PDF
Clojurescript로 하는 함수형 UI 프로그래밍
Sang-Kyu Park
 
PPTX
Json view 예제 설명
Hyung Eun Jin
 
PPTX
Startup JavaScript 8 - NPM, Express.JS
Circulus
 
PDF
막하는 스터디 네 번째 만남 AngularJs (20151108)
연웅 조
 
PDF
XE 오픈 세미나(2014-04-26) - 김동현 "XE 코어 구조론"
XpressEngine
 
PPTX
Node.js의 도입과 활용
Jin wook
 
PDF
2. template
seung-hyun Park
 
PPTX
Javascript 1
swmin
 
PDF
Xe 구조에 대한 이해
Dong Hyun Kim
 
PDF
Javascript
Hong Hyo Sang
 
PDF
웹개발자가 알아야할 기술
jaypi Ko
 
PPTX
Java script 신입교육
준성 황
 
Nodejs, PhantomJS, casperJs, YSlow, expressjs
기동 이
 
Javascript 조금 더 잘 알기
jongho jeong
 
4-1. javascript
JinKyoungHeo
 
Node.js and react
HyungKuIm
 
Java script
영남 허
 
Node.js 기본
Han Jung Hyun
 
코드리뷰 짝 매칭 프로그램 구현기
Yong Hoon Kim
 
엄준일 04일차 HTML/Javascript 교육
준일 엄
 
Clojurescript로 하는 함수형 UI 프로그래밍
Sang-Kyu Park
 
Json view 예제 설명
Hyung Eun Jin
 
Startup JavaScript 8 - NPM, Express.JS
Circulus
 
막하는 스터디 네 번째 만남 AngularJs (20151108)
연웅 조
 
XE 오픈 세미나(2014-04-26) - 김동현 "XE 코어 구조론"
XpressEngine
 
Node.js의 도입과 활용
Jin wook
 
2. template
seung-hyun Park
 
Javascript 1
swmin
 
Xe 구조에 대한 이해
Dong Hyun Kim
 
Javascript
Hong Hyo Sang
 
웹개발자가 알아야할 기술
jaypi Ko
 
Java script 신입교육
준성 황
 
Ad

RequireJS를 이용한 모듈관리.

  • 1. 전자정부 프레임워크 대시 보드 – JSON View 예제.(+RequireJS) EMS 2 Team 진형은 사원
  • 2. 1. RequireJS 간단한 구조. 2. RequireJS를 활용한 Select 예제. 3. 구현한 Select기능을 모듈화.
  • 3. 1. RequireJS (1) • RequireJS를 사용하는 이유.. : 대시보드의 경우, 화면을 담당하는 html과 순수 JS위주로 되어있다고 합니다. 즉, JS파일 내에서 다른 JS를 사용해야할 경우가 있습니다. (ex jQuery사용, Ajax 호출, 암호화, 등등..) 이처럼 다양한 JS 모듈을 활용해야 할 경우, 의존성관리가 되지 않는 문제가 있었습니다. 이 때문에 Require JS를 사용하게 되었습니다. 또한, 자주 사용되는 JS(비즈니스 로직)을 모듈화하여, 추후에 재사용할 수 있도록 “사용자 모듈화”도 가능합니다. 예제는 requireJS 사용법과 “사용자모듈화” 이 두 부분을 위주로 작성하였습니다.
  • 4. 1. RequireJS (1) Main.js (requireJS setting) Jquery.js (Module) Cryptograph.js (Module) Json2.js (Module) Require.js Json2.js (Module) • 모듈 경로 지정 및 각 모듈의 의존성을 정의. • 자주 사용하는 경우, 미리 로드하여 초기화 작업을 할 수 있다. 사용자정의.js (Module)
  • 5. 1. RequireJS – main.js (2) • Requirejs 구성환경 설정. • baseUrl : 기본적인 모듈 경로 지정 • Paths : 사용할 모듈 경로 지정. • Shim : 모듈별 의존성 지정. • Requirejs 최초 가져올 모듈을 정의, 초기화 함수 지정 가능.
  • 6. 1. RequireJS 간단한 구조. 2. RequireJS를 활용한 Select 예제. 3. 구현한 Select기능을 모듈화.
  • 8. • Require([“사용하고자하는 모듈”], • Sample.js 안에서 사용할 모듈(ex jquery, 암호화..)들을 미리 load하며, 초기화 기능을 정의합니다. • 기능 구현의 경우, 추후에 html에서 접근 가능형태로 제공 해야하기 때문에, 객체 형식으로 작성합니다. (자세한 내용은 3번에서 자세히 설명.) 2. Sample.js (1)
  • 9. 2. Sample.js (2) 1) 조회할 Select Query를 가져옵니다. 2) 암호화 모듈을 통해 쿼리를 암호화. 3) 암호화된 쿼리를 parameter형식으로 변환 * “_”문제 등으로 변환처리. *$.param사용시 JSON형태로 인자값을 넣어줘 4) Jquery의 Ajax를 사용해 요청. 5) 요청이 정상적으로 성공할 경우, 결과값을 JSON 파싱하여 View(대시보드) 구현. 1 2 3 4 5
  • 10. 2. Sample.js (3) • 작성된 class를, new연산자를 통해 생성합니다. • 브라우저에서 최상위(Global)개념인 Window 객체에 생성한 객체를 넣고, 이후 html에서 Window.정의한객체.정의한메소드 를 통해 접근가능합니다.
  • 12. 1. RequireJS 간단한 구조. 2. RequireJS를 활용한 Select 예제. 3. 구현한 Select기능을 모듈화.
  • 13. 3. sampleModule.js (1) • 첫번째 예제와 달리, 모듈을 만드는 경우 Require가 아니라 define을 통해서 정의합니다. • 의존성 형식은 동일합니다 [“사용할모듈”],function(로드될 모듈변수)
  • 14. 3. sampleModule.js (2) 1 2 3 4 5 • 세부기능은 위에서 설명과 동일하므로 • 생략하겠습니다.
  • 15. 3. sampleModule.js (3) • sampleModule에서 정의한 객체를 반환합니다. sampleModule.js sampleModuleLoader.js • sampleModuleLoader에서는 require를 이용하여 사용자 정의 모듈을 로드한 후 마찬가지로 html접근을 위해 Window객체에 추가합니다. *재밋는건, 하위모듈(sampleModule)에서 상위모듈이 로드한 모듈(jQuery..) 역시 사용 가능합니다.