Nuxt.js ライブラリ「vueye-timeline」をインストールしてタイムラインを実装する

ライブラリ「vueye-timeline」をインストールすると、タイムラインの実装が可能です。ここでは、nuxt.jsでvueye-timelineを利用するための手順と簡単な使い方を記述してます。
環境
- OS CentOS Linux release 8.2.2004 (Core)
- node V12.16.3
- npm 6.14.4
- nuxt 2.12.2
Nuxt.js環境構築
下記のコマンドで構築。ここでは、nuxtappという名前でプロジェクトを作成してます。
1 |
npx create-nuxt-app nuxtapp |
ここでは、下記の設定で構築してます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
create-nuxt-app v2.15.0 ✨ Generating Nuxt.js project in nuxtapp ? Project name nuxtapp ? Project description My transcendent Nuxt.js project ? Author name ? Choose programming language JavaScript ? Choose the package manager Yarn ? Choose UI framework None ? Choose custom server framework None (Recommended) ? Choose Nuxt.js modules (Press <space> to select, <a> to toggle all, <i> to invert selection) ? Choose linting tools (Press <space> to select, <a> to toggle all, <i> to invert selection) ? Choose test framework None ? Choose rendering mode Universal (SSR) ? Choose development tools (Press <space> to select, <a> to toggle all, <i> to invert selection) 🎉 Successfully created project nuxtapp |
※yarnをインスールしているので、ここではnpmではなくyarnを選択してます。
1 2 |
## yarnのインスールは下記コマンド npm install -g yarn |
外部IP許可
localhostではなくプライベートIPを利用して接続して確認したいので、作成したプロジェクトnuxtappの配下にあるpackage.jsonに下記を追加します。
1 2 3 4 5 6 |
"config": { "nuxt": { "host": "0.0.0.0", "port": "3000" } }, |
vueye-timelineインストール
下記のコマンドでインストールします。
1 2 3 4 5 |
## 作成したプロジェクトに移動 cd nuxtapp ## インストール yarn add vueye-timeline |
vueye-timeline使い方
plugins配下にplugin.jsを作成し、下記の通りに編集します。
1 2 3 |
import Vue from 'vue' import VueyeTimeline from 'vueye-timeline' Vue.component('VueyeTimeline',VueyeTimeline) |
プロジェクト配下にあるnuxt.config.jsに下記のコードを追加します。
1 2 3 4 5 6 |
plugins: [ { src: '@/plugins/plugin', mode: 'client' } ], |
pages配下にあるindex.vueを下記の通りに編集します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
<template> <div class="container"> <VueyeTimeline :items="items"> <template v-slot:content="{item}"> <h2>{{item.title}}</h2> <div>{{item.body}}</div> </template> <template v-slot:opposite="{item}"> <h1 :style="{color:item.styleConfig.background}">{{item.year}}</h1> </template> </VueyeTimeline> </div> </template> <script> export default { components: { }, data() { return { items: [ { title: "title 1", body: "タイムラインの内容を記述。タイムラインの内容を記述。タイムラインの内容を記述。タイムラインの内容を記述。タイムラインの内容を記述", year: 2010, styleConfig: { background: "#ffc1bd", color: "#545454", dotColor: "#2244e9" } }, { title: "title 2", body: "タイムラインの内容を記述。タイムラインの内容を記述。タイムラインの内容を記述。タイムラインの内容を記述。タイムラインの内容を記述", year: 2014, styleConfig: { background: "#e7d8ff", color: "#545454", dotColor: "#2244e9" } }, { title: "title 3", body: "タイムラインの内容を記述。タイムラインの内容を記述。タイムラインの内容を記述。タイムラインの内容を記述。タイムラインの内容を記述", year: 2016, styleConfig: { background: "#673AB7", color: "#eee", dotColor: "#2244e9" } }, { title: "title 4", body: "タイムラインの内容を記述。タイムラインの内容を記述。タイムラインの内容を記述。タイムラインの内容を記述。タイムラインの内容を記述", year: 2019, styleConfig: { background: "#CDDC39", color: "#545454", dotColor: "#2244e9" } } ] } } } </script> <style> .container { height: 100%; width: 100%; padding: 20px; display: flex; flex-direction: column; align-items: center; font-family: Arial, Helvetica, sans-serif; } pre { margin-top: 20px; padding: 10px; color: #fff; background: #7e06ad; } </style> |
起動します
1 |
yarn dev |
ブラウザから http://プライベートIP:3000にアクセスするとタイムラインが表示されていることが確認できます。

-
前の記事
JavaScript ビット否定演算子(~~)を2つ使用して小数の切り捨てを行う 2020.10.05
-
次の記事
javascript Withステートメントを使用する 2020.10.05
コメントを書く