vue-cli+webpack在生成的项目中使用bootstrap

在也个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 [email protected] --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>&nbsp;&nbsp;&nbsp;</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">&times;</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。

代码

End

时间: 2024-10-18 07:26:01

vue-cli+webpack在生成的项目中使用bootstrap的相关文章

全面解析vue-cli生成的项目中使用其他库(js库、css库)

前言:最近有小伙伴问我,是不是用vue脚手架生成的项目就不能jquery了呢?显然,答案是否定的,必须能用.但是个人建议最好不要用了,用人家vue提供的不好嘛. 一.用vue-cli生成项目 1. vue init webpack-simple vue-jq 2. cd vue-jq 3. cnpm install 4. 使用git bash(只是为了方便) 5. package.json 中修改端口 --port 8088 6. npm run dev 二.构建项目结构,引入相关文件 目录结构

如何在前端项目中引用bootstrap less?

在基于bootstrap css框架的前端项目开发中,如果有grunt build系统,那么工作流是:客制化less,在less中定义自己的 CSS,同时可以随意引用bootstrap中预定义好的css类,一旦保存文件,grunt则开始重新构建,生成最后的生产文件.问题是: 如何能够在自己的客制less文件中引入bootstrap的less变量或者mixin呢? 比如:我如何能够实现在屏幕尺寸在@screen-md时,将所有的图片隐藏呢? 对于这个场景,假设项目目录结构如下: > bower_c

在Vue-cli项目中引入Bootstrap

(1)到bootstrap官网下载所需版本的bootstrap.zip文件. (2)将bootstrap.min.css以及bootstrap.min.js解压到assets文件夹,另外还需要将fonts字体文件夹解压到src文件夹下面. (3)在main.js文件中通过 import './assets/bootstrap.min.css' import './assets/bootstrap.min' 引入bootstrap,引入完成之后,就可以在组件中使用bootstrap了. 另外需要注

从数据库反向生成django项目中的models文件

1.创建一个django项目 2.在项目配置文件settings.py中配置好数据库的相关配置 3.确保所关联的数据库中已经有表存在 4.在pycharm终端进入到项目的根目录,执行python manage.py inspectdb,查看可以导入到models的相关信息 5.执行python manage.py inspectdb > (需要导入表的app)/models.py,即可完成反向生成models文件 6.进入models文件进行相关修改 原文地址:https://www.cnblo

在vue-cli生成的项目中使用karma+chrome进行单元测试

用vue-cli生成项目时,如果选择了单元测试,那么会采用karma+mocha作为单元测试框架,默认使用的浏览器是PhantomJs. Karma是一个基于Node.js的JavaScript测试执行过程管理工具(Test Runner).可启动所有主流Web浏览器作为测试容器,运行时会启动一个web服务器,生成包含js源代码和js测试脚本的测试页面,运行浏览器加载测试页面,并显示测试的结果. mocha是一款JavaScript测试框架,提供一套函数来帮助编写测试用例,并通过运行执行测试并得

【Vue CLI】从安装到构建项目再到目录结构的说明 &#196968;

目录 1. 构建我们的项目 2. 目录结构说明 2.1 build目录 2.2 config目录 2.3 src目录 2.4 static目录 原文: http://blog.gqylpy.com/gqy/284 "Vue CLI是一个基于Vue.js进行快速开发的完整系统. Vue CLI致力于将Vue生态中的工具基础标准化.它确保了各种构建工具只需给予智能的默认配置便可平稳衔接. 这样我们就可以专注在撰写应用上,而不必花好几天去纠结配置的问题.于此同时,它还为每个工具提供了调整配置的灵活性.

在vue项目中 如何定义全局变量 全局函数

如题,在项目中,经常有些函数和变量是需要复用,比如说网站服务器地址,从后台拿到的:用户的登录token,用户的地址信息等,这时候就需要设置一波全局变量和全局函数 定义全局变量 原理: 设置一个专用的的全局变量模块文件,模块里面定义一些变量初始状态,用export default 暴露出去,在main.js里面使用Vue.prototype挂载到vue实例上面或者在其它地方需要使用时,引入该模块便可. 全局变量模块文件: Global.vue文件: <script> const serverSr

Vue项目中遇到的一些问题总结

一.开发环境使用Ajax请求,报错 网上查的资料,在config中的index.js这样设置 proxyTable:{ '/api':{ target:'', //此处为你的API接口地址 changeOrigin:true, pathRewrite:{ '^/api':'' //这里理解为用api代替target中的地址 } } } 配置完后,请求依然报错,大致是https证书的问题 [HPM] Error occured while trying to proxy request /xxx/

webpack 4.x 解决 webpack-dev-server工具在webpack构建的项目中使用问题

首先将webpack-dev-server安装到项目中 npm install webpack-dev-server -D 这时在powershell中敲 webpack-dev-server 会发现 'webpack-dev-server' 不是内部或外部命令,也不是可运行的程序 或批处理文件. 这是由于该工具只是安装到本地项目中了 纳尼? 难道要全局安装一下吗??? 没必要!!!这时只需在根目录的package.json中"scripts"下中添加 "dev":