vue引入bootstrap——webpack

https://blog.csdn.net/wild46cat/article/details/77662555(copy)

想要在vue中引入bootstrap,引入的时候需要按照如下的步骤进行。
1、引入jquery
2、引入bootstrap
 
阅读本文前,应该能够搭建环境,使用vue-cli进行项目的创建,可以参考文章:
http://blog.csdn.net/wild46cat/article/details/76360229
 
好,下面上货。
1、首先按照上面文章中的内容,新建一个vue工程。
 
2、使用命令npm install jquery --save-dev 引入jquery。
 
3、在webpack.base.conf.js中添加如下内容:
var webpack = require('webpack')

// 增加一个plugins
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery"
})
],

添加完成后,文件内容如下:

  1. var path = require('path')
  2. var fs = require('fs')
  3. var utils = require('./utils')
  4. var config = require('../config')
  5. var vueLoaderConfig = require('./vue-loader.conf')
  6. function resolve(dir) {
  7. return fs.realpathSync(__dirname + '/' + path.join('..', dir))
  8. }
  9. module.exports = {
  10. entry: {
  11. app: './src/main.js'
  12. },
  13. output: {
  14. path: config.build.assetsRoot,
  15. filename: '[name].js',
  16. publicPath: process.env.NODE_ENV === 'production'
  17. ? config.build.assetsPublicPath
  18. : config.dev.assetsPublicPath
  19. },
  20. resolve: {
  21. extensions: ['.js', '.vue', '.json'],
  22. alias: {
  23. 'vue$': 'vue/dist/vue.esm.js',
  24. '@': resolve('src'),
  25. },
  26. symlinks: false
  27. },
  28. module: {
  29. rules: [
  30. {
  31. test: /\.vue$/,
  32. loader: 'vue-loader',
  33. options: vueLoaderConfig
  34. },
  35. {
  36. test: /\.js$/,
  37. loader: 'babel-loader',
  38. include: [resolve('src'), resolve('test')]
  39. },
  40. {
  41. test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
  42. loader: 'url-loader',
  43. options: {
  44. limit: 10000,
  45. name: utils.assetsPath('img/[name].[hash:7].[ext]')
  46. }
  47. },
  48. {
  49. test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
  50. loader: 'url-loader',
  51. options: {
  52. limit: 10000,
  53. name: utils.assetsPath('media/[name].[hash:7].[ext]')
  54. }
  55. },
  56. {
  57. test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
  58. loader: 'url-loader',
  59. options: {
  60. limit: 10000,
  61. name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
  62. }
  63. }
  64. ]
  65. },
  66. // 增加一个plugins
  67. plugins: [
  68. new webpack.ProvidePlugin({
  69. $: "jquery",
  70. jQuery: "jquery"
  71. })
  72. ],
  73. }
4、在main.js中添加内容
import $ from 'jquery'

添加完成后,可以在home.vue中尝试jquery是否好用。

 
5、修改home.vue的内容,一个是尝试添加bootstrap的代码,还有事验证jquery的代码
  1. <template>
  2. <div class="hello">
  3. <h1>{{ msg }}</h1>
  4. <h2>Essential Links</h2>
  5. <ul>
  6. <li><a href="https://vuejs.org" target="_blank">Core Docs</a></li>
  7. <li><a href="https://forum.vuejs.org" target="_blank">Forum</a></li>
  8. <li><a href="https://chat.vuejs.org" target="_blank">Community Chat</a></li>
  9. <li><a href="https://twitter.com/vuejs" target="_blank">Twitter</a></li>
  10. <br>
  11. <li><a href="http://vuejs-templates.github.io/webpack/" target="_blank">Docs for This Template</a></li>
  12. </ul>
  13. <h2>Ecosystem</h2>
  14. <ul>
  15. <li><a href="http://router.vuejs.org/" target="_blank">vue-router</a></li>
  16. <li><a href="http://vuex.vuejs.org/" target="_blank">vuex</a></li>
  17. <li><a href="http://vue-loader.vuejs.org/" target="_blank">vue-loader</a></li>
  18. <li><a href="https://github.com/vuejs/awesome-vue" target="_blank">awesome-vue</a></li>
  19. </ul>
  20. <div class="btn-group" role="group" aria-label="...">
  21. <button type="button" class="btn btn-default">Left</button>
  22. <button type="button" class="btn btn-default">Middle</button>
  23. <button type="button" class="btn btn-default">Right</button>
  24. </div>
  25. <div id="cc">cc</div>
  26. </div>
  27. </template>
  28. <script>
  29. $(function () {
  30. alert(123);
  31. });
  32. export default {
  33. name: 'hello',
  34. data () {
  35. return {
  36. msg: 'Welcome to Your Vue.js App'
  37. }
  38. }
  39. }
  40. </script>
  41. <!-- Add "scoped" attribute to limit CSS to this component only -->
  42. <style scoped>
  43. h1, h2 {
  44. font-weight: normal;
  45. }
  46. ul {
  47. list-style-type: none;
  48. padding: 0;
  49. }
  50. li {
  51. display: inline-block;
  52. margin: 0 10px;
  53. }
  54. a {
  55. color: #42b983;
  56. }
  57. </style>

5、这样,使用npm run dev后,能够在界面上看到,弹出alert,就证明jquery引入成功了。

 
6、安装bootstrap,使用命令npm install bootstrap --save-dev
 
7、安装成功后,能够在package.json文件夹中看到bootstrap这个模块。这时候需要在main.js中添加如下内容:
import 'bootstrap/dist/css/bootstrap.min.css'
import 'bootstrap/dist/js/bootstrap.min'

添加完成后,重新启动程序,npm run dev。就能看到界面中的按钮已经是bootstrap的按钮组了。

 
最后,附上整个main.js文件的内容:
  1. // The Vue build version to load with the `import` command
  2. // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
  3. import Vue from 'vue'
  4. import App from './App'
  5. import router from './router'
  6. import $ from 'jquery'
  7. import 'bootstrap/dist/css/bootstrap.min.css'
  8. import 'bootstrap/dist/js/bootstrap.min'
  9. Vue.config.productionTip = false
  10. /* eslint-disable no-new */
  11. new Vue({
  12. el: '#app',
  13. router,
  14. template: '<App/>',
  15. components: {App}
  16. })

npm install --save popper.js                    别忘了

# 在module.exports = {}中添加一下代码
plugins: [
   new webpack.optimize.CommonsChunkPlugin('common'),
   new webpack.ProvidePlugin({
     jQuery: 'jquery',
     $: 'jquery',
    Popper: ['popper.js', 'default'],
   })
完整的webpack.base.conf.js
 
main.js的源码:
 

2 引入jquery和boot的更多相关文章

  1. 脚手架搭建的vue项目里引入jquery和bootstrap

    引入jquery: 1.在cmd输入:npm install jquery,回车,等待.. 2.在webpack.base.conf.js里进行如下操作: 3.在webpack.prod.conf.j ...

  2. 在Web工程中引入Jquery插件报错解决方案

    在学习Jquery插件的时候,遇到一个问题就是新建web工程后在WebRoot下引入Jquery插件的时候报错,不知道为什么好纠结,但是项目能正常运行,后来找到解决方案,在这里给大家分享一下. 解决方 ...

  3. vue-cli中如何引入jquery

    前言 虽然vue不推荐直接操作DOM,而且也提供了操作DOM的方式.但是在某些时候还是要用到jquery(囧),那么如何在使用vue-cli的时候引入jquery呢? 安装 国内镜像 cnpm 安装 ...

  4. vue中引入jQuery和bootstrap

    一.引入jQuery: 首先在当前项目的根目录下(就是与package.json同目录),运行命令npm install jquery --save-dev   这样就将jquery安装到了这个项目中 ...

  5. 判断是否引入jQuery,没有则引入

    <script type="text/javascript"> window.jQuery || document .write("<script sr ...

  6. [转]如何在Angular4中引入jquery

    本文转自:https://blog.csdn.net/home_zhang/article/details/77992734 1.anjq是我的项目名称: 在anjq目录下打开dos命令窗口,然后依次 ...

  7. 使用jQuery插件时避免重复引入jquery.js文件

    当一个页面使用多个jQuery插件时,需要避免重复引入jquery.js文件,因为后面映入的jQuery.js文件中定义的jQuery对象会覆盖掉前面的jQuery对象,导致之前定义的jQuery插件 ...

  8. 在vue项目中引入jquery

    在vue项目中引入jquerycnpm install jquery --save在main.js中引入,加入下面这行代码:import 'jquery'注:有些项目是按需加载的,在main.js里面 ...

  9. seajs引入jquery框架问题

    seajs引入jquery框架时出现的问题 原因:由于seajs是遵循cmd规范,而jquery是遵循amd规范,所以在seajs调用jquery框架时,需要将amd转换为cmd 转换方法:jquer ...

随机推荐

  1. <数据结构与算法分析>读书笔记--函数对象

    关于函数对象,百度百科对它是这样定义的: 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象.又称仿函数. 听起来确实很难懂,通过搜索我找到一篇 ...

  2. 笔记一:CSS选择器

    0.前言:无论学什么,前端都是绕不开的一门技术,对于不同的人需求不同,作为一个python开发者不仅需要能读懂基本的html/css以及js代码,还要会使用它的常用的标签,以及了解比较有用的标签,把逻 ...

  3. scapy学习笔记(4)简单的sniffing 嗅探

    转载请注明:@小五义:http://www.cnblogs/xiaowuyi 利用sniff命令进行简单的嗅探,可以抓到一些简单的包.当不指定接口时,将对每一个接口进行嗅探,当指定接口时,仅对该接口进 ...

  4. day33

    今日内容: 1.关于UDP传输的模拟实现 2.使用socketserver模块实现TCP传输的并发操作 3.进程理论的介绍 1.关于UDP传输的模拟实现 模拟UDP传输与之前的模拟TCP传输大致相同 ...

  5. day 26

    今日内容 classmethod 让这个类中的方法绑定自己类,这样就可以直接用类调用该方法. staticmethod 让类中的方法编程非绑定方法,也就是是这个类中的方法编程普通函数. ####### ...

  6. js中数组的使用

    使用js时候,很多情况下要使用数组.就写写数组中一些常用的方法. js中定义一个数组,一般有以下2种方法. 1. var arr = new Array(3); // 声明数组有3个元素 arr[0] ...

  7. 第2章 如何安装KEIL5

    第2章     如何安装KEIL5 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fireg ...

  8. HDU - 4118 Holiday&#39;s Accommodation

    Problem Description Nowadays, people have many ways to save money on accommodation when they are on ...

  9. 带您详细解读分布式文件系统HDFS

    一.HDFS的由来: 本地系统:一个节点作为系统,以前数据是存放在本地文件系统上的,但本地文件系统存在两个问题:1.本地节点存储容量不够大:2.本地节点会坏,数据不够安全.这时,人们开始利用闲置的计算 ...

  10. 网络对抗技术 2017-2018-2 20152515 Exp2 后门原理与实践

    1.实验内容 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) 关于netcat:是一个底层工具,进行基本的TCP UDP数据收发.常被与其他工具结合使用,起到后门的作用. 相 ...