Electron + Vue.js 애플리케이션 만들기
ELectron을 사용한 애플리케이션을 만들경우 사용자에게 보여지는 GUI(Renderer)를 Vue.js 를 이용하여 구현할 수 있다. Electron에 대한 설명은 Electron 애플리케이션 만들기를 참고하고 Vue.js를 참고 하면 된다.
Table of Contents
vue로 구축 된 electron 애플리케이션을 만들기 위한 보일러 플레이트는 electron-vue를 사용한다. electron-vue은 스캐폴딩을 위한 vue-cli, vue-loader이 있는 webpack, electron-packager, electron-builder, vue-router, vuex 등과 같이 가장 많이 사용되는 플러그인을 사용한다.
Quick start
1 | # vue-cli와 스캐폴딩 보일러 플레이트 설치 |
Project Structure
1 | my-project |
- src
main프로세스 코드로 electron을 구동에 필요한 코드 정의renderer프로세스 코드로 vue.js 기반의 코드를 작성(cli로 설치시 기본 모듈을 정의되어 있음)
- static
main,renderer각 프로세스가 소비 할 수 있는 Static assets을 배치renderer에서는static/imgs/some.png디렉토리로 검색main에서는path.join(__static, '/somePath..')로 디렉토리 검색
- test
NPM Scripts
npm run build-> 프로덕션과 패키지 용 앱을 빌드(Building Your App)npm run dev-> 현재 프로젝트를 개발용으로 실행npm run lint-> 모든src/와test/의 JS & Vue component 파일을 Lintnpm run lint:fix-> 모든src/와test/의 JS & Vue component 파일을 Lint하고 문재 해결을 시도npm run pack->npm run pack:main&npm run pack:renderer둘 다 실행npm run pack:main->main프로세스 소스 코드를 번들npm run pack:renderer->renderer프로세스 소스 코드를 번들npm run unit-> Karma와 Jasmine로 단위 테스트를 실행 (Unit Testing)npm run e2e-> Spectron + Mocha로 end-to-end 테스트를 실행(End-to-end Testing)npm test->npm run unit&npm run e2e둘 다 실행(Testing**)
Reference
- https://electronjs.org/docs
- https://kr.vuejs.org/v2/guide/index.html
- https://github.com/SimulatedGREG/electron-vue/tree/master/docs/ko
- https://simulatedgreg.gitbooks.io/electron-vue/content/ko/getting_started.html