vue引入bootstrap——webpack

vue引入bootstrap——webpack

想要在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.  
  7.  
  8. function resolve(dir) {

  9. return fs.realpathSync(__dirname + '/' + path.join('..', dir))

  10. }

  11.  
  12. module.exports = {

  13. entry: {

  14. app: './src/main.js'

  15. },

  16. output: {

  17. path: config.build.assetsRoot,

  18. filename: '[name].js',

  19. publicPath: process.env.NODE_ENV === 'production'

  20. ? config.build.assetsPublicPath

  21. : config.dev.assetsPublicPath

  22. },

  23. resolve: {

  24. extensions: ['.js', '.vue', '.json'],

  25. alias: {

  26. 'vue$': 'vue/dist/vue.esm.js',

  27. '@': resolve('src'),

  28. },

  29. symlinks: false

  30. },

  31. module: {

  32. rules: [

  33. {

  34. test: /\.vue$/,

  35. loader: 'vue-loader',

  36. options: vueLoaderConfig

  37. },

  38. {

  39. test: /\.js$/,

  40. loader: 'babel-loader',

  41. include: [resolve('src'), resolve('test')]

  42. },

  43. {

  44. test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,

  45. loader: 'url-loader',

  46. options: {

  47. limit: 10000,

  48. name: utils.assetsPath('img/[name].[hash:7].[ext]')

  49. }

  50. },

  51. {

  52. test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,

  53. loader: 'url-loader',

  54. options: {

  55. limit: 10000,

  56. name: utils.assetsPath('media/[name].[hash:7].[ext]')

  57. }

  58. },

  59. {

  60. test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,

  61. loader: 'url-loader',

  62. options: {

  63. limit: 10000,

  64. name: utils.assetsPath('fonts/[name].[hash:7].[ext]')

  65. }

  66. }

  67. ]

  68. },

  69. // 增加一个plugins

  70. plugins: [

  71. new webpack.ProvidePlugin({

  72. $: "jquery",

  73. jQuery: "jquery"

  74. })

  75. ],

  76. }

 

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.  
  29. <script>

  30. $(function () {

  31. alert(123);

  32. });

  33. export default {

  34. name: 'hello',

  35. data () {

  36. return {

  37. msg: 'Welcome to Your Vue.js App'

  38. }

  39. }

  40. }

  41. </script>

  42.  
  43. <!-- Add "scoped" attribute to limit CSS to this component only -->

  44. <style scoped>

  45. h1, h2 {

  46. font-weight: normal;

  47. }

  48.  
  49. ul {

  50. list-style-type: none;

  51. padding: 0;

  52. }

  53.  
  54. li {

  55. display: inline-block;

  56. margin: 0 10px;

  57. }

  58.  
  59. a {

  60. color: #42b983;

  61. }

  62. </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.  
  10. Vue.config.productionTip = false

  11.  
  12. /* eslint-disable no-new */

  13. new Vue({

  14. el: '#app',

  15. router,

  16. template: '<App/>',

  17. components: {App}

  18. })

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值