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