满大街的复制粘贴腻歪了,就来看看最精简实用的吧!
本文使用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>
效果:
完美运行~~
不足请指出 转载请留出处~谢谢~