electron-vue로 빌드하면 스타일이 달라지는 문제 해결
5300 단어 ElectronVue.jselectron-vue
소개
electron-vue
에 대해서는, 아래의 기사나 공식 문서를 참조해 주세요.
- 2017년도판 electron-vue로 시작하는 Vue.js ]
- electron-vue 공식 문서(한국어)
electron-vue
에서는 electron-packager
또는 electron-builder
를 선택하여 애플리케이션을 빌드합니다. 기본적으로 electron-builder
가 선택됩니다.
이번에는 electron-builder
를 사용할 때의 문제에 대해 설명합니다.
Element UI + 자신의 스타일로 문제 발생
Element UI는 Vue에서 사용할 수 있는 UI 컴포넌트 라이브러리입니다.
Element UI 공식 사이트(영어)
Element UI 배포
ElementUI 를 사용하고 싶으므로 도입합니다.
$ yarn add element-ui
...
✨ Done in 8.42s.
공식 문서에 따라 src/renderer/main.js
에 Element UI를 사용하는 코드를 추가합니다.
src/renderer/main.jsimport ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI)
Element의 구성 요소를 사용하여 페이지 추가
Element의 Button 컴퍼넌트를 사용한 간단한 샘플 코드를 준비합니다.
Element.vue<template lang="html">
<div class="element">
<el-button type="primary">何もスタイルあたってないボタン</el-button>
<el-button class="element__originalButton">カスタムなボタン</el-button>
</div>
</template>
<script>
export default {
}
</script>
<style lang="css">
.element__originalButton {
background-color: #111;
color: #fff;
}
</style>
yarn run dev
에서 수행한 결과는 아래 스크린샷과 같습니다.
새까만 버튼이 1개 추가되어 있는 것을 알 수 있습니다.
빌드하고 실행해보기
명령이 이미 준비되어 있으므로 실행합니다. 나름대로 길기 때문에 기장에 기다립니다.
$ yarn run build
✔ building main process
/ building renderer process
✨ Done in 238.62s.
빌드가 완료되면,build/mac/アプリ名.app
를 시작해 봅니다.
무려, 검은 버튼의 스타일이 사라져 버려, Element UI 디폴트의 버튼색이 나와 버리고 있습니다.
스타일에 차이가 생기는 원인
스타일에 차이가 생기는 원인은 빌드하면 style.css를 생성합니다.
즉, main.js
파일내에 쓴 스타일이, 결국 ElementUI의 css에 덧쓰기되어 버리고 있는 것입니다.
해결 방법
기사 시작 부분에서 .vue
에 설명된 ElementUI 스타일을 로드 코드를 src/renderer/main.js
로 이동합니다.
src/renderer/App.vue<template>
<div id="app">
<router-view></router-view>
</div>
</template>
<script>
export default {
name: 'element-vue-style'
}
</script>
<style>
+ @import "~element-ui/lib/theme-chalk/index.css";
</style>
다시, 빌드하고 실행해 보면 제대로 스타일이 맞고 있는 것을 알 수 있습니다.
죄송합니다.
Reference
이 문제에 관하여(electron-vue로 빌드하면 스타일이 달라지는 문제 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/SatoTakumi/items/0c2b62dcf0d3e688290c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Element UI는 Vue에서 사용할 수 있는 UI 컴포넌트 라이브러리입니다.
Element UI 공식 사이트(영어)
Element UI 배포
ElementUI 를 사용하고 싶으므로 도입합니다.
$ yarn add element-ui
...
✨ Done in 8.42s.
공식 문서에 따라
src/renderer/main.js
에 Element UI를 사용하는 코드를 추가합니다.src/renderer/main.js
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI)
Element의 구성 요소를 사용하여 페이지 추가
Element의 Button 컴퍼넌트를 사용한 간단한 샘플 코드를 준비합니다.
Element.vue
<template lang="html">
<div class="element">
<el-button type="primary">何もスタイルあたってないボタン</el-button>
<el-button class="element__originalButton">カスタムなボタン</el-button>
</div>
</template>
<script>
export default {
}
</script>
<style lang="css">
.element__originalButton {
background-color: #111;
color: #fff;
}
</style>
yarn run dev
에서 수행한 결과는 아래 스크린샷과 같습니다.새까만 버튼이 1개 추가되어 있는 것을 알 수 있습니다.
빌드하고 실행해보기
명령이 이미 준비되어 있으므로 실행합니다. 나름대로 길기 때문에 기장에 기다립니다.
$ yarn run build
✔ building main process
/ building renderer process
✨ Done in 238.62s.
빌드가 완료되면,
build/mac/アプリ名.app
를 시작해 봅니다.무려, 검은 버튼의 스타일이 사라져 버려, Element UI 디폴트의 버튼색이 나와 버리고 있습니다.
스타일에 차이가 생기는 원인
스타일에 차이가 생기는 원인은 빌드하면 style.css를 생성합니다.
즉, main.js
파일내에 쓴 스타일이, 결국 ElementUI의 css에 덧쓰기되어 버리고 있는 것입니다.
해결 방법
기사 시작 부분에서 .vue
에 설명된 ElementUI 스타일을 로드 코드를 src/renderer/main.js
로 이동합니다.
src/renderer/App.vue<template>
<div id="app">
<router-view></router-view>
</div>
</template>
<script>
export default {
name: 'element-vue-style'
}
</script>
<style>
+ @import "~element-ui/lib/theme-chalk/index.css";
</style>
다시, 빌드하고 실행해 보면 제대로 스타일이 맞고 있는 것을 알 수 있습니다.
죄송합니다.
Reference
이 문제에 관하여(electron-vue로 빌드하면 스타일이 달라지는 문제 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/SatoTakumi/items/0c2b62dcf0d3e688290c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
기사 시작 부분에서
.vue
에 설명된 ElementUI 스타일을 로드 코드를 src/renderer/main.js
로 이동합니다.src/renderer/App.vue
<template>
<div id="app">
<router-view></router-view>
</div>
</template>
<script>
export default {
name: 'element-vue-style'
}
</script>
<style>
+ @import "~element-ui/lib/theme-chalk/index.css";
</style>
다시, 빌드하고 실행해 보면 제대로 스타일이 맞고 있는 것을 알 수 있습니다.
죄송합니다.
Reference
이 문제에 관하여(electron-vue로 빌드하면 스타일이 달라지는 문제 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/SatoTakumi/items/0c2b62dcf0d3e688290c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)