Я хотел использовать vue и bootstrap для первого запуска веб-фреймворка, но мне не удалось найти несколько примеров. Поэтому я сделал один сам.
# install vue-cli
$ npm install --global vue-cli
# init project
$ vue init webpack vue-bootstrap-template
? Project name erc20-contract
? Project description vue+bootstrap template
? Author chang <[email protected]>
? Vue build standalone
? Install vue-router? Yes
? Use ESLint to lint your code? No
? Set up unit tests No
? Setup e2e tests with Nightwatch? No
$ cd vue-bootstrap-template
$ npm run dev
открыть http://локальный:8080
App.vue
<template> <div id="app"> <img src="./assets/logo.png"> <router-view/> </div> </template>
index.js
import Vue from 'vue' import Router from 'vue-router' import HelloWorld from '@/components/HelloWorld' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'HelloWorld', component: HelloWorld } ] })
изменить App.vue. Добавьте навигационную панель начальной загрузки.
<template> <div id="app"> <header class="app-header"> <nav class="navbar navbar-expand-sm navbar-dark bg-dark" style="margin-bottom: 20px"> <a class="navbar-brand" href="#"> <img src="./assets/logo.png" width="30" height="30" alt=""> Test </a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav mr-auto" > <li class="nav-item"> <router-link class="nav-link" exact-active-class="active" to="/">Home</router-link> </li> <li class="nav-item"> <router-link class="nav-link" active-class="active" to="/about">About</router-link> </li> </ul> </div> </nav> </header> <router-view/> </div> </template> <script> export default { name: 'App' } </script>
изменил index.js, добавил про маршрут.
import Vue from 'vue' import Router from 'vue-router' import HelloWorld from '@/components/HelloWorld' import About from '@/components/About' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'HelloWorld', component: HelloWorld }, { path: '/about', name: 'About', component: About } ] })
теперь страница выглядит так.
теперь установите пакеты начальной загрузки и зависимости.
npm install bootstrap --save npm install jquery --save npm install popper.js --save
измените App.vue, добавьте импорт начальной загрузки.
<script> import 'bootstrap/dist/css/bootstrap.css' import 'bootstrap/dist/js/bootstrap.min.js' export default { name: 'App' } </script>
теперь на странице отображается красивая навигационная панель начальной загрузки.
О.vue, добавление карты.
<template> <div class="about"> <div class="card border-primary mb-3"> <div class="card-header">About</div> <div class="card-body text-secondary"> <h5 class="card-title">Vue+Bootrap Templete</h5> <p class="card-text"> This project using Vue, Bootstrap, web3,<br/> Some real working project based on this templete is <a href="https://github.com/lcw99/contract-manager">here</a> </p> </div> </div> </div> </template> <script> export default { name: 'About' } </script>
о странице.
для производства,
NODE_ENV=production npm run build cp -R dist/ /path/to/production/site
Вот и все. Исходный код этой статьи находится здесь.