Ionic Vueクイックスタート
Ionic Framework とは
まず、ここに来たばかりの人を歓迎します!Ionic Framework は、 iOS, Android, Electron, Web 上で動作するアプリを構築するための、無償でオープンソースのコンポーネント ライブラリです。使い慣れたテクノロジ(HTML、CSS、JavaScript)を使用してアプリケーションを一度作成したら、任意のプラットフォームに展開することができます。
UI コンポーネントに加えて、Ionic Framework は新しいアプリを作るためのコマンドラインツールを提供し、サポートしている様々なプラットフォームにデプロイすることができます。
このガイドでは、Ionic Framework 特有の機能を含め、Vue と Ionic Framework の基本について説明します。Vue に精通している方は、ガイドを楽しみ、Ionic Framework について新しいことを学んでください。どちらにも詳しくない方はご安心ください!このガイドでは、基本的なことを説明し、アプリケーションを起動して実行するのに十分な情報を提供します。
Ionic CLI を使ったプロジェクト新規作成
はじめに、Ionic CLI の最新版をインストールしましょう。
npm install -g @ionic/cli@latest
これによって使えるようになった、グローバルコマンド ionic
によって、Ionic Framework と他の依存関係を持つ Vue プロジェクトを作成することができます。新しいプロジェクトを作成するには、次のコマンドを実行します。
ionic start myApp blank --type vue
cd myApp
これで、 ionic serve
を実行することによって、プロジェクトをブラウザで実行することができます。
TypeScript と JavaScript のどちらで構築するかを 選べます
私たちは TypeScript が大好きで、スケールさせるアプリを構築するための素晴らしいツールだと確信しています。とはいえ、Vue コミュニティがいかにシンプルさを重視しているかは、ツールや言語などでわかっています。実際、そもそも Vue に興味を持ったのはそのおかげかもしれません。シンプルに開始し、必要に応じてスケールアップします。
したがって、TypeScript の代わりに JavaScript を使うことができます。Ionic Vue アプリケーションを生成したら、次の手順を実行してください。
- TypeScript の依存を削除:
npm uninstall --save typescript @types/jest @typescript-eslint/eslint-plugin @typescript-eslint/parser @vue/cli-plugin-typescript @vue/eslint-config-typescript vue-tsc
-
Change all
.ts
files to.js
. In a blank Ionic Vue app, this should only besrc/router/index.ts
andsrc/main.ts
. If you're using tests, also change the extension of files in thetests
directory. -
In
index.html
, change the imported<script>
file from/src/main.ts
to/src/main.js
. -
Remove
@vue/typescript/recommended
and@typescript-eslint/no-explicit-any: ‘off’,
from.eslintrc.js
. -
Remove
Array<RouteRecordRaw>
and the import ofRouteRecordRaw
fromsrc/router/index.js
. -
Delete the
src/shims-vue.d.ts
file if it exists. This is only needed when using the Vue CLI. -
Remove
lang="ts"
from thescript
tags in any of your Vue components that have them. In a blank Ionic Vue app, this should only besrc/App.vue
andsrc/views/HomePage.vue
. -
Delete the
tsconfig.json
file. -
In package.json, change the build script from
"build": "vue-tsc && vite build"
to"build": "vite build"
-
Install terser
npm i -D terser
.
Vue コンポーネントの確認
アプリケーションのベースは src
ディレクトリにあり、メインのエントリポイントは main.ts
になります。エディタでプロジェクトを開き、main.ts
を確認すると、次のように表示されます:
import { createApp } from 'vue';
import { IonicVue } from '@ionic/vue';
import App from './App.vue';
import router from './router';
const app = createApp(App).use(IonicVue).use(router);
router.isReady().then(() => {
app.mount('#app');
});
So what is going on here? The first four lines are pulling in some dependencies. The createApp
function lets us initialize our Vue application, while IonicVue
is a plugin that allows us to use Ionic Framework in a Vue environment.
The third import is the root component for our app, simply named App
. This is our first Vue component and will be used in the bootstrapping process for our Vue app.
The fourth import gets our routing configuration. We will look at this more in depth later.
App.vue
を開くと、次のように表示されます:
<template>
<ion-app>
<ion-router-outlet />
</ion-app>
</template>
<script setup lang="ts">
import { IonApp, IonRouterOutlet } from '@ionic/vue';
</script>
script に書かれている import のグループを分解してみていきましょう。
<script setup lang="ts">
import { IonApp, IonRouterOutlet } from '@ionic/vue';
</script>
To use a component in Vue, you must first import it. So for Ionic Framework, this means anytime we want to use a Button or a Card, it must be added to our imports. In the case of our App
component, we are using IonApp
and IonRouterOutlet
. Vue's script setup
syntax gives the template access to those components as <ion-app>
and <ion-router-outlet>
.
You can also register components globally if you find yourself importing the same components repeatedly. This comes with performance tradeoffs that we cover in Optimizing Your Build.
次に、テンプレートを見てみましょう。
<template>
<ion-app>
<ion-router-outlet />
</ion-app>
</template>
すべての Vue コンポーネントには <template>
が必要です。その中に IonApp
と IonRouterOutlet
のコンポーネントを配置します。