从0开始Vue2集成Bootstrap4(1)
满大街的复制粘贴腻歪了,就来看看最精简实用的吧!
我并非专业前端,如果有错误请大家指点~
本文使用yarn
安装vue
和依赖,npm
自行使用。
一、安装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,可以不安装。
sass-loader
对于其他博客说的,需要配置webpack
,但是我发现,根本不用配置什么,vue也会识别scss,build后也会解析。知道原因的可以跟我讲解一下。
BS源码浅读
源码bsvue/node_modules/bootstrap/js/src/index.js
中
import $ from 'jquery' import Alert from './alert' ...
由此可见,boostrap自动引入了jquery
编译后的bsvue/node_modules/bootstrap/dist/js/bootstrap.js
中
(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
会判断并且自动加载,那么接下来就简单了:
运行项目
npm run dev
bsvue/src/App.vue
引入bootstrap样式,这里不加scoped
属性,是为了全局使用。
<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
的组件进来看看样式是否有了
效果:
接下来加入需要js
的组件试试
首先bsvue/src/main.js
引入bootstrap
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>
效果:
完美运行~~
不足请指出
转载请留出处~谢谢~
相关推荐
yuzhu 2020-11-16
85477104 2020-11-17
KANSYOUKYOU 2020-11-16
sjcheck 2020-11-03
怪我瞎 2020-10-28
源码zanqunet 2020-10-28
gloria0 2020-10-26
王军强 2020-10-21
学习web前端 2020-09-28
QiaoranC 2020-09-25
anchongnanzi 2020-09-21
安卓猴 2020-09-12
Macuroon 2020-09-11
kiven 2020-09-11
LittleCoder 2020-09-11
Cheetahcubs 2020-09-13
小焊猪web前端 2020-09-10
颤抖吧腿子 2020-09-04
softwear 2020-08-21