vue-cli+webpack在生成的项目中使用bootstrap实例代码


Posted in Javascript onMay 26, 2017

在html页面中加入bootstrap是很方便,就是一般的将css和js文件通过Link和Script标签就行。

那么在一个用vue-vli生成的前端项目中如何加入?因为框架不一样了,略微要适应一下。

脚手架生成项目

执行命令用webpack模板生成一个名为vuestrap的项目(名字任意)

vue init webpack vuestrap

在出现的各提示选项中,没什么要求,为了方便,把不用的ESLint,unit tests,e2e都关掉(这些选项都随意)。

? Project name vuestrap
? Project description A Vue.js project
? Author 省略
? Vue build standalone
? Install vue-router? Yes
? Use ESLint to lint your code? No
? Setup unit tests with Karma + Mocha? No
? Setup e2e tests with Nightwatch? No

选项选完,项目也就生成了。

执行命令,安装脚手架创建的组件

npm install

安装jquery

bootstrap是依赖jquery的,所以就先装上jquery,这里用的版本是1.11.3。

稍后在配置的时候,是以webpack插件的方式进行打包,所以这里直接用npm进行安装,因为插件方式打包的组件都是require进来的。

执行命令,并保存到package.json中

npm install jquery@1.11.3 --save-dev

注:如果想查看npm上jquery有哪些版本,可以执行命令:

npm view jquery versions

下载和安置bootstrap所需的文件

下载bootstrap包,这里用的版本是3.3.0。

下载下来后将fonts,js,css文件夹分别放到项目目录/src/assets下。

配置jquery

将jquery以插件打包,需要为webpack的plugins进行插件设置。

在build/webpack.base.conf.js文件中,在整个配置对象的末尾增加plugins配置。

在webpack.base.conf.js中的配置项,可以在dev和build出来的pro版本中都有效。

下面的配置其实就是变量名的真正指向设置,这样,在页面中对jquery的各种名字的调用就会有效,否则bootstrap跑不起来。

plugins: [
  new webpack.ProvidePlugin({
   $: "jquery",
   jQuery: "jquery",
   "windows.jQuery": "jquery"
  })
 ]

引用bootstrap

在src/main.js文件的顶部加入如下对bootstrap主要文件的引用。

import './assets/css/bootstrap.min.css'
import './assets/js/bootstrap.min'

做完这个,也就配完了。

接下去试试看能不能用,就写个简单的页面。

 验证页面

就在App.vue中写一个页面,放一个panel,button,modal。

<template>
 <div id="app">
  <div class='container'>
   <div class='row'>
    <div class='col-lg-4'>
     <h1>demo</h1>
    </div>

    <div class='col-lg-8'>
     <div class='panel panel-default' style='min-width:500px;box-shadow:4px 4px 10px #888888;'>
      <div class="panel-heading">
       <button id='btnCreate'>
        <span class="glyphicon glyphicon-plus"></span>
       </button>
       <span>   </span>
      </div>
      <div class="panel-body">
       <div style='float: left;width:100%'>

        <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
         Launch demo modal
        </button>

        <!-- Modal -->
        <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
         <div class="modal-dialog" role="document">
          <div class="modal-content">
           <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
            <h4 class="modal-title" id="myModalLabel">Modal title</h4>
           </div>
           <div class="modal-body">
            ...
           </div>
           <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            <button type="button" class="btn btn-primary">Save changes</button>
           </div>
          </div>
         </div>
        </div>

       </div>
      </div>
     </div>
    </div>

   </div>
  </div>
 </div>
</template>

<script>
export default {
 name: 'app'
}
</script>

<style>
#app {
 margin-top: 60px;
}
</style>

写完后,执行命令,运行效果。

npm run dev

效果:

点击按钮,可以打开modal。

vue-cli+webpack在生成的项目中使用bootstrap实例代码 

 代码地址

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 禁止复制网页
Jun 11 Javascript
jquery mobile实现拨打电话功能的几种方法
Aug 05 Javascript
js数组操作常用方法
May 08 Javascript
JavaScript电子时钟倒计时第二款
Jan 10 Javascript
javascript的正则匹配方法学习
Feb 24 Javascript
JS动态改变浏览器标题的方法
Apr 06 Javascript
javascript表单事件处理方法详解
May 15 Javascript
微信小程序组件 marquee实例详解
Jun 23 Javascript
Vue中的v-for指令不起效果的解决方法
Sep 27 Javascript
JS实现简单的表格增删
Jan 16 Javascript
详解Vue的ref特性的使用
Jan 24 Javascript
JS面向对象编程实现的拖拽功能案例详解
Mar 03 Javascript
BootStrap中的Fontawesome 图标
May 25 #Javascript
Vue.js 中的 $watch使用方法
May 25 #Javascript
详解Javascript获取缓存和清除缓存API
May 25 #Javascript
Angularjs 实现动态添加控件功能
May 25 #Javascript
JavaScript实现自动跳转文本功能
May 25 #Javascript
angularjs项目的页面跳转如何实现(5种方法)
May 25 #Javascript
AngularJS基于factory创建自定义服务的方法详解
May 25 #Javascript
You might like
多文件上传的例子
2006/10/09 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
2010/12/29 PHP
PHP遍历数组的几种方法
2012/03/22 PHP
php 无限级分类,超级简单的无限级分类,支持输出树状图
2014/06/29 PHP
php通过执行CutyCapt命令实现网页截图的方法
2016/09/30 PHP
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
2013/03/11 Javascript
js replace替换所有匹配的字符串
2014/02/13 Javascript
jquery实现上下左右滑动的方法
2015/02/09 Javascript
JavaScript中的bold()方法使用详解
2015/06/08 Javascript
jQuery滚动新闻实现代码
2016/06/26 Javascript
理解JavaScript原型链
2016/10/25 Javascript
ES6新数据结构Map功能与用法示例
2017/03/31 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
JS 组件系列之BootstrapTable的treegrid功能
2017/06/16 Javascript
JavaScript实现HTML5游戏断线自动重连的方法
2017/09/18 Javascript
Vue项目中如何引入icon图标
2018/03/28 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
js实现课堂随机点名系统
2019/11/21 Javascript
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
py中的目录与文件判别代码
2008/07/16 Python
Python向Excel中插入图片的简单实现方法
2018/04/24 Python
Python 中如何实现参数化测试的方法示例
2019/12/10 Python
Python实现给PDF添加水印的方法
2021/01/25 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
马来西亚与新加坡长途巴士售票网站:BusOnlineTicket.com
2018/11/05 全球购物
Notino罗马尼亚网站:购买香水和化妆品
2019/07/20 全球购物
企划专员岗位职责
2013/12/09 职场文书
大学生自我鉴定
2013/12/16 职场文书
会计电算化应届生自荐信
2014/02/25 职场文书
我的中国梦演讲稿小学篇
2014/08/19 职场文书
龙门石窟导游词
2015/02/02 职场文书
2015年纪委工作总结
2015/05/13 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
Netty结合Protobuf进行编解码的方法
2021/06/26 Java/Android
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL