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. MyBatis实战之配置

    MyBatis最重要的配置也就两个,一个是mybatis-config.xml,又称MyBatis的全局配置,另一个就是XXXDao.xml或XXXMapper.xml映射配置. mybatis-co ...

  2. JAVA 框架 springmvc controller的返回值

    一.返回值:ModleView对象. 使用modelAndView.setViewName设置返回的页面.使用modelAndView.addObject设置返回的数据. @RequestMappin ...

  3. Python之字典的应用

    # 转化为字符串 d = {'key1' : 'value1', 'key2 ': 'value2','key3' : 'value3'} s = str(d) print(s) #python3 结 ...

  4. 使用Gitblit 在Windows2008 r2上部署Git Server(完整版)

    第一章 前言 使用gitblit搭建git server需要配置两个大件:java jdk.gitblit 本次搭建gitServer采用是当前最新版的两个版本,分别如下: jdk:Java SE D ...

  5. 5213 Exp3 免杀原理与实践

    5213 Exp3 免杀原理与实践 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧 使用msf编码器 ...

  6. 20155325 Exp5 MSF基础应用

    目录 实验内容 遇到的问题 基础问题问答 老师!!!我实验三的C代码已经删除了,请求评分~~~ 实验内容 1.Windows服务渗透攻击--MS08-067 系统 虚拟机 参考博客 Windows X ...

  7. Exp8 web基础

    20155332<网络对抗>Exp5 MSF基础应用 1.实验环境搭建 1.apache的安装与配置 安装:sudo apt-get install apache2 开启:service ...

  8. linux下使用软连接之案例二

           在笔者的上一篇文章介绍过怎么通过linux的软连接在不修改上传代码的情况下,将上传到项目路径下的图片改为上传到项目外面,防止重新部署后图片被删除了.同时还可以直接通过类似访问静态资源的方 ...

  9. 原创zynq文章整理(MiZ702教程+例程)

    MiZ702教程+例程  网盘链接:  http://pan.baidu.com/s/1sj23yxv 不时会跟新版本,增加勘误之类的,请关注--

  10. python 回溯法 子集树模板 系列 —— 14、最长公共子序列(LCS)

    问题 输入 第1行:字符串A 第2行:字符串B (A,B的长度 <= 1000) 输出 输出最长的子序列,如果有多个,随意输出1个. 输入示例 belong cnblogs 输出示例 blog ...