vue-cli3 + TypeScript + Electron으로 앱 개발
소개
Vue.js와 TypeScript 및 Electron에서 데스크톱 애플리케이션을 개발할 때 필요한 단계를 잊어 버린 것으로 작성합니다.
vue-cli3 설치
프로젝트를 만들기 전에 @vue/cli
를 전역 설치합니다.
$ npm install -g @vue/cli
2.x계를 사용하고 있는 분은 일단 언인스톨하고 나서 인스톨 해 주세요.
$ npm uninstall -g vue-cli
$ npm install -g @vue/cli
vue create로 앱 편지지 만들기
$ vue create my-app
현재 디렉토리에 my-app
라는 디렉토리가 작성됩니다.my-app
부분을 원하는 이름으로 변경하십시오.
이후는 여기에서 작성한 디렉토리 안에서 작업을 실시합니다.
위의 명령을 실행하면 몇 가지 질문이 있습니다.
이번에는 TypeScript를 이용하고 싶으므로 Manually select features
를 선택하고 아래와 같이 설정했습니다.
? Check the features needed for your project:
> Babel
> TypeScript
> Router
> Vuex
> CSS Pre-processors
> Linter / Formatter
? Use class-style component syntax?
> Yes
? Using Babel alongside Typescript?
> Yes
? Use history mode for router?
> No
? Pick a CSS pre-processor:
> Sass/SCSS (with node-sass)
? Pick a linter / formatter config:
> ESLint with error prevention only
? Pick additional lint features:
> Lint on save
? Where do you prefer placing config for Babel, PostCSS, ESLint, etc.?
> In dedicated config files
? Save this as a preset for future projects?
> No
다음 섹션 Electron을 설치할 때 사용하는 Vue CLI Plugin Electron Builder 은 VueRouter가 history
라고 잘 동작하지 않기 때문에 hash
모드로 하고 있습니다.history
로 했을 때는 src/router.ts
를 다음과 같이 편집합니다.
// src/router.ts
...
export default new Router({
- mode: 'history',
+ mode: process.env.IS_ELECTRON ? 'hash' : 'history',
...
})
...
브라우저에서 http://localhost:8080/
로 이동하여 성공적으로 시작되었는지 확인합니다.
Electron 설치
$ vue add electron-builder
위의 명령을 실행하면 Electron (및 종속 패키지)이 설치되고 일부 파일이 추가되고 업데이트됩니다.
중요한 것은 다음 파일입니다.
package.json
...
"scripts": {
+ "electron:build": "vue-cli-service electron:build",
+ "electron:serve": "vue-cli-service electron:serve",
},
+ "main": "background.js",
...
electron:build
및 electron:serve
라는 스크립트가 추가되었습니다.
이렇게 하면 개발 서버를 시작하거나 응용 프로그램을 빌드할 수 있습니다.
개발 서버 시작
$ npm run electron:serve
애플리케이션 빌드
$ npm run electron:build
요약
이번에는 Vue.js + TypeScript + Electron에서 응용 프로그램을 시작할 때까지 설명했습니다.
다음부터는 TypeScript에서 Vue 컴포넌트를 작성하는 방법과 VueRouter, Vuex, axios와 조합하는 방법 등을 소개하려고합니다.
Reference
이 문제에 관하여(vue-cli3 + TypeScript + Electron으로 앱 개발), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/paragaki/items/e7d3a43b50233af96424
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ npm install -g @vue/cli
$ npm uninstall -g vue-cli
$ npm install -g @vue/cli
$ vue create my-app
? Check the features needed for your project:
> Babel
> TypeScript
> Router
> Vuex
> CSS Pre-processors
> Linter / Formatter
? Use class-style component syntax?
> Yes
? Using Babel alongside Typescript?
> Yes
? Use history mode for router?
> No
? Pick a CSS pre-processor:
> Sass/SCSS (with node-sass)
? Pick a linter / formatter config:
> ESLint with error prevention only
? Pick additional lint features:
> Lint on save
? Where do you prefer placing config for Babel, PostCSS, ESLint, etc.?
> In dedicated config files
? Save this as a preset for future projects?
> No
// src/router.ts
...
export default new Router({
- mode: 'history',
+ mode: process.env.IS_ELECTRON ? 'hash' : 'history',
...
})
...
$ vue add electron-builder
...
"scripts": {
+ "electron:build": "vue-cli-service electron:build",
+ "electron:serve": "vue-cli-service electron:serve",
},
+ "main": "background.js",
...
$ npm run electron:serve
$ npm run electron:build
이번에는 Vue.js + TypeScript + Electron에서 응용 프로그램을 시작할 때까지 설명했습니다.
다음부터는 TypeScript에서 Vue 컴포넌트를 작성하는 방법과 VueRouter, Vuex, axios와 조합하는 방법 등을 소개하려고합니다.
Reference
이 문제에 관하여(vue-cli3 + TypeScript + Electron으로 앱 개발), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/paragaki/items/e7d3a43b50233af96424텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)