「Nuxt.js」ライブラリvue-wizard-stepsを使用してプログレスバーを作成する
環境
Windows 10 Home 64bt
node v14.18.3
npm 6.14.15
1.Nuxt.jsを環境構築します
1.1 「nuxtdemo」という名前でプロジェクトを作成してます
c:\>npx create-nuxt-app nuxtdemo
1.2 create-nuxt-appの設定を行います
create-nuxt-app v4.0.0 ✨ Generating Nuxt.js project in nuxtdemo ? Project name: nuxtdemo ? Programming language: JavaScript ? Package manager: Yarn ? UI framework: None ? Nuxt.js modules: (Press <space> to select, <a> to toggle all, <i> to invert selection) ? Linting tools: (Press <space> to select, <a> to toggle all, <i> to invert selection) ? Testing framework: None ? Rendering mode: Universal (SSR / SSG) ? Deployment target: Server (Node.js hosting) ? Development tools: (Press <space> to select, <a> to toggle all, <i> to invert selection) ? What is your GitHub username? ? Version control system: Git 略 warning nuxt > @nuxt/webpack > webpack > watchpack > watchpack-chokidar2 > chokidar@2.1.8: Chokidar 2 does not receive
1.3 環境構築の結果
Successfully created project nuxtdemo To get started: cd nuxtdemo yarn dev To build & start for production: cd nuxtdemo yarn build yarn start
2.vue-wizard-stepsをインストールします
作成したプロジェクトに移動します
c:\>cd nuxtdemo
vue-wizard-stepsインストール
c:\nuxtdemo>yarn add vue-wizard-steps
3.vue-wizard-steps使い方
「C:\nuxtdemo\plugins」フォルダを作成します
plugin.jsに以下のコードを編集します
import Vue from 'vue' import WizardSteps from 'vue-wizard-steps'; Vue.component("wizard-steps", WizardSteps);
nuxt.config.jsに以下のコードを編集します
modules: [ ], plugins: [ { src: '@/plugins/plugin', mode: 'client' } ],
pages配下にindex.vueに以下のコードを編集します
<template> <div class="container"> <wizard-steps :sections="sections" /> </div> </template> <script> export default { data() { return { sections: { titles: ["メールアドレス入力", "パスワード入力", "確認"], fillCount: 2, }, }; }, }; </script> <style> .container { flex-direction: column; justify-content: center; align-items: center; } </style>
4.yarn起動
c:\nuxtdemo>yarn dev
c:\nuxtdemo>yarn dev yarn run v1.22.17 $ nuxt ╭───────────────────────────────────────╮ │ │ │ Nuxt @ v2.15.8 │ │ │ │ ▸ Environment: development │ │ ▸ Rendering: server-side │ │ ▸ Target: server │ │ │ │ Listening: http://localhost:3000/ │ │ │ ╰───────────────────────────────────────╯