码迷,mamicode.com
首页 > Web开发 > 详细

2 引入jquery和boot

时间:2018-04-12 23:30:42      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:ecos   function   lse   int   output   out   unity   hat   icp   

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"
  })
],
添加完成后,文件内容如下:
[html] view plain copy
 
  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的代码
[html] view plain copy
 
  1. <template>  
  2.   <div class="hello">  
  3.     <h1>{{ msg }}</h1>  
  4.     <h2>Essential Links</h2>  
  5.     <ul>  
  6.       <li><href="https://vuejs.org" target="_blank">Core Docs</a></li>  
  7.       <li><href="https://forum.vuejs.org" target="_blank">Forum</a></li>  
  8.       <li><href="https://chat.vuejs.org" target="_blank">Community Chat</a></li>  
  9.       <li><href="https://twitter.com/vuejs" target="_blank">Twitter</a></li>  
  10.       <br>  
  11.       <li><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><href="http://router.vuejs.org/" target="_blank">vue-router</a></li>  
  16.       <li><href="http://vuex.vuejs.org/" target="_blank">vuex</a></li>  
  17.       <li><href="http://vue-loader.vuejs.org/" target="_blank">vue-loader</a></li>  
  18.       <li><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文件的内容:
[html] view plain copy
 
  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. })  

 

 

 

 

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

标签:ecos   function   lse   int   output   out   unity   hat   icp   

原文地址:https://www.cnblogs.com/dianzan/p/8810896.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!