Capacitor V3 사용해보기
이전 시도한 것은 이쪽.
Capacitor를 사용해보십시오 (router & ionic 없음)
Capacitor를 사용해보십시오 (router & ionic 포함)
기본 프로젝트 만들기
Vue 프로젝트를 기반으로 합니다.
Vue CLI 넣기
yarn cache clean; yarn global add @vue/cli
Vue 프로젝트 생성 및 프로젝트로 이동
# Vue プロジェクト作成
vue create test
# 今回は以下のように選んでみる
# ? Please pick a preset: Manually select features
# ? Check the features needed for your project: Choose Vue version, Babel, TS, PWA, Router, Vuex, CSS Pre-processors, Linter
# ? Choose a version of Vue.js that you want to start the project with 3.x
# ? Use class-style component syntax? No
# ? Use Babel alongside TypeScript (required for modern mode, auto-detected polyfills, transpiling JSX)? Yes
# ? Use history mode for router? (Requires proper server setup for index fallback in production) Yes
# ? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): Sass/SCSS (with dart-sass)
# ? Pick a linter / formatter config: Basic
# ? Pick additional lint features: Lint on save
# ? Where do you prefer placing config for Babel, ESLint, etc.? In dedicated config files
# ? Save this as a preset for future projects? No
cd test
Capacitor
설치
yarn add @capacitor/core @capacitor/cli
초기화
npx cap init test com.xxxxx.test
add 전에 build 해서 webDir(dist) 를 생성
yarn run build
Android / iOS 추가
yarn add @capacitor/android; npx cap add android
yarn add @capacitor/ios; npx cap add ios
Toast 추가 (Toast를 사용하는 경우)
yarn add @capacitor/toast; npx cap sync
변경하기
src/components/HelloWorld.vue
<template>
<div class="hello">
+ <button @click="toast">Toast</button>
<h1>{{ msg }}</h1>
<p>
For a guide and recipes on how to configure / customize this project,<br>
check out the
<a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
</p>
<h3>Installed CLI Plugins</h3>
<ul>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa" target="_blank" rel="noopener">pwa</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-router" target="_blank" rel="noopener">router</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-vuex" target="_blank" rel="noopener">vuex</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-typescript" target="_blank" rel="noopener">typescript</a></li>
</ul>
<h3>Essential Links</h3>
<ul>
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
</ul>
<h3>Ecosystem</h3>
<ul>
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
</ul>
</div>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
+ import { Toast } from "@capacitor/toast";
export default defineComponent({
name: 'HelloWorld',
props: {
msg: String,
+ },
+ methods: {
+ async toast() {
+ await Toast.show({
+ text: "Toast"
+ });
+ }
},
});
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="scss">
h3 {
margin: 40px 0 0;
}
ul {
list-style-type: none;
padding: 0;
}
li {
display: inline-block;
margin: 0 10px;
}
a {
color: #42b983;
}
</style>
변경 반영
yarn run build; npx cap copy
Android/iOS 개발 환경 열기
npx cap open android
npx cap open ios
iOS에서 확인해보기
toast 버튼을 누르면 Toast가 표시됩니다.
Vue.js/Capacitor가 각각 올바르게 작동하는지 확인했습니다.
Reference
이 문제에 관하여(Capacitor V3 사용해보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ganessa/items/a78608b7e151e5afdc20텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)