滿大街的複製粘貼膩歪了,就來看看最精簡實用的吧!
本文使用yarn
安裝vue
和依賴,npm
自行使用。javascript
Vue
jquery
,bootstrap
, popper.js
,node-sass
和sass-loader
bootstrap
依賴jquery
和popper.js
。
因爲集成到Vue
,因此不使用script
標籤引入bootstrap.bundle.js
,所以須要安裝popper.js
。因爲我習慣使用SCSS引入bootstrap的css樣式,因此須要安裝
node-sass
和sass-loader
。若是是引入編譯後的css,能夠不安裝。css
sass-loader
對於其餘博客說的,須要配置webpack
,可是我發現,根本不用配置什麼,vue也會識別scss,build後也會解析。知道緣由的能夠跟我講解一下。前端
源碼bsvue/node_modules/bootstrap/js/src/index.js
中vue
import $ from 'jquery' import Alert from './alert' ...
因而可知,boostrap自動引入了jqueryjava
編譯後的bsvue/node_modules/bootstrap/dist/js/bootstrap.js
中node
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) : typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) : (factory((global.bootstrap = {}),global.jQuery,global.Popper)); }...
這段代碼,總體意思我一個非專業人士就不懂了。可是能夠根據源碼看出,這是引入了jquery
和popper.js
。
既然jquery
會判斷而且自動加載,那麼接下來就簡單了:jquery
npm run dev
bsvue/src/App.vue
引入bootstrap樣式,這裏不加scoped
屬性,是爲了全局使用。webpack
<style lang="scss"> @import '~bootstrap/scss/bootstrap.scss'; #app { font-family: 'Avenir', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; margin-top: 60px; } </style>
修改bsvue/src/components/HelloWorld.vue
文件,先加入幾個不須要js
的組件進來看看樣式是否有了web
效果:
接下來加入須要js
的組件試試
首先bsvue/src/main.js
引入bootstrap
npm
import 'bootstrap'
bsvue/src/components/HelloWorld.vue
加入輪播圖組件
<div class="container"> <div id="indicators" class="carousel slide w-100" data-ride="carousel" data-keyboard="false" data-pause="hover" data-interval="5000"> <ol class="carousel-indicators"> <li data-target="#indicators" data-slide-to="0" class="active"></li> <li data-target="#indicators" data-slide-to="1"></li> <li data-target="#indicators" data-slide-to="2"></li> </ol> <div class="carousel-inner"> <div class="carousel-item active"> <img class="d-block w-100" src="../assets/1.jpg"> </div> <div class="carousel-item"> <img class="d-block w-100" src="../assets/2.jpg"> </div> <div class="carousel-item"> <img class="d-block w-100" src="../assets/6.jpg"> </div> </div> <a class="carousel-control-prev" href="#indicators" role="button" data-slide="prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> </a> <a class="carousel-control-next" href="#indicators" role="button" data-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> </a> </div> </div>
效果:
完美運行~~
不足請指出 轉載請留出處~謝謝~