社員ブログ

ViteでVue3 + VueRouter + TailwindCSSの環境をつくる②

こんにちは。つばさです。

前回の続きを書こうかと思います。

ViteでVue3 + VueRouter + TailwindCSSの環境をつくる①

今回はVueRouterを使えるようにしていきたいと思います。

ちなみに前回はMac環境でしたが、今回はWindows環境です。Windowsだとソースコードのコピペがうまくできたので。

今更ですが、Vue.jsに関する説明は省きます。あくまで環境の作り方だけ説明します。

 

VueRouterは、Vue.jsでSPA(シングルページアプリケーション)を構築する際に使われます。

簡単に言えば、フロントでルーティング制御する機能です。

https://next.router.vuejs.org/

 

まずは、npmでVueRouterをインストールします。vue3の場合は、v4をインストールします。

npm install vue-router@4

今回は、ディレクトリやファイルを新規作成したり、編集したりするので今回の最終的なディレクトリ・ファイル構成を添付しておきます。

赤線で引いてあるディレクトリ・ファイルを今回新規作成、編集します。

srcディレクトリ下に、routerディレクトリを作成して、その下にindex.jsを作成して、下記のように記載します。

// skl-blog/src/router/index.js
import { createRouter, createWebHistory } from "vue-router";

const routes = [];

const router = createRouter({
  history: createWebHistory(),
  routes,
});

export default router;

main.jsに追記します。

// skl-blog/src/main.js
import { createApp } from "vue";
import App from "./App.vue";
import router from "./router";  // 追記

createApp(App).use(router).mount("#app");  // use(router)を追記

では早速ルーティングを追加して、ページを表示したいと思います。

router/index.jsのrotesにルーティングを記載します。今回はHome.vueを表示させます。(Home.vueは後で作成します)

// skl-blog/src/router/index.js
import { createRouter, createWebHistory } from "vue-router";
import Home from "../components/Home.vue";  // 追記

const routes = [
  {
    path: "/",
    name: "Home",
    component: Home,
  },
];

const router = createRouter({
  history: createWebHistory(),
  routes,
});

export default router;

Home.vueファイルをsrc/components下に作成します。

VueRouterの確認のためだけなので、内容は簡単にします。

<template>
  <div>Home画面</div>
</template>

<script>
export default {};
</script>

最後に、src/App.vueの内容を全て消して、下記のように記載します。

<template>
  <router-view></router-view>
</template>

<scrpt></scrpt>
下記コマンドを実行して、http://localhost:3000/にアクセスして、下記のように表示されれば、VueRouterの構築は完了です。
npm run dev

新しいページを追加したい場合は、Home.vueのようにまずファイルを作成して、/src/router/index.jsのroutesにルートを記載してください。

例えばAbout.vueを作成して、/aboutにアクセスしたときにAbout.vueを表示するようには下記のように記載します。

// skl-blog/src/router/index.js
import { createRouter, createWebHistory } from "vue-router";
import Home from "../components/Home.vue";
import About from "../components/About.vue";

const routes = [
  {
    path: "/",
    name: "Home",
    component: Home,
  },
  {
    path: "/about",
    name: "About",
    component: About,
  },
];

const router = createRouter({
  history: createWebHistory(),
  routes,
});

export default router;

これで、http://localhost:3000/aboutにアクセスしたとき、About.vueを表示します。

ついでにリンクを作成して、ページを切り替えられるようにします。

リンクは<router-link>タグを使用します。URLパスやパス名(上記のindex.jsのroutesで指定したpathやname)でも指定できます。

<template>
  <ul>
    <li>
      <router-link :to="{ path: '/'}">HOME</router-link>
    </li>
    <li>
      <router-link :to="{ name: 'About'}">About</router-link>
    </li>
  </ul>
  <router-view></router-view>
</template>

<scrpt></scrpt>

次回は、TailwindCSSを導入したいと思います。

といっても、公式ドキュメント通りに進めるだけですが、、、

ついでに、TailwindCSSの使い方や、面白い部分も簡単に紹介できたらと思います。

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。