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. git回答整理

    1.git常用命令 首先明确:git有工作区.暂存区.版本库,工作区是电脑里能看到的目录 创建仓库: git init newrepo,使用我们指定目录作为Git仓库(初始化后,会在newrepo目录 ...

  2. 分享一个excel根据文件超链接获取链接文档的最后更新时间

    #获取制定单元格内超链接对应的链接地址Sub geturi() For Each cell In Range("E3:E43") If cell.Hyperlinks.Count ...

  3. VC++编译错误error C2065: “HANDLE”: 未声明的标识符及添加winbase.h后提示winbase.h(243): error C2146: 语法错误: 缺少“;”(在标识符“Internal”的前面)的解决办法

    问题描述: VC++程序编译时提示错误:error C2065: “HANDLE”: 未声明的标识符等众多错误提示,如下所示: error C2065: “HANDLE”: 未声明的标识符 error ...

  4. Docker学习4-Containers - 容器

    用Docker方式构建应用程序,从这个应用程序层次结构的底层容器开始.高于此级别的是一项服务,它定义了容器在生产中的行为方式.在顶层是堆栈,它定义了所有服务的交互. Stack  堆栈 Service ...

  5. day05今日学习总结:字符串类型

    昨日学习复习: 数据类型: 有序.无序 有序:可以根据索引查找的数据 可变不可变 可变:在值变的情况下,id不变,证明原值是在改变的 不可变:在值变的情况下,id也跟着变,证明不是在改原值. 今日学习 ...

  6. C# winform 设置WebBowser 内核版本

    一种是在网页头部 用 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 使用当前浏览器最新 ...

  7. Octocat,看着喜欢就都下载下来了

    看见github的octocat很喜欢,就用c#写了个程序统统download了,附上一个比较高效的下载程序,以及文末的图片压缩包. 用到了Jumony解析网页. HttpClient client ...

  8. Codeforces 948D Perfect Security(字典树)

    题目链接:Perfect Security 题意:给出N个数代表密码,再给出N个数代表key.现在要将key组排序,使key组和密码组的亦或所形成的组字典序最小. 题解:要使密码组里面每个数都找到能使 ...

  9. [CF983D]Arkady and Rectangles[线段树+可删堆/set]

    题意 你有一个无限大的绘图板,开始颜色是\(0\) , 你将进行\(n\) 次绘图,第\(i\) 次绘图会将左下角为 \((x_1, y_1)\),右上角为\((x_2, y_2)\) 的矩形涂成颜色 ...

  10. effective c++ 笔记 (49-52)

    //---------------------------15/04/27---------------------------- //#49   了解new-handler的行为 { /* 1:在o ...