Vue 中使用 jQuery 和 Bootstrap 不是特別符合 Vue 原生的寫法,可是有時候又要用,因此放上個人引入設置,供你們參考。javascript
在 Vue CLI2.0 中引入 jQuery 和 Bootstrap 須要設置不少配置項,網上有不少方法法,這裏不重複寫了。直接上 Vue CLI3.0 配置步驟。css
其中popper.js 用於在 Bootstrap 中顯示彈窗、提示、下拉菜單,因此須要引入。html
npm install jquery bootstrap@3 popper.js --save
注意:上面的 bootstrap@3 指的是安裝 Bootstrap 第三版,若是不加 @3 符號,默認安裝第四版。vue
引入 Boostrap 請看配置文件。java
//main.js import Vue from "vue"; import App from "./App.vue"; import router from "./router"; import store from "./store"; //在這裏引入 bootstrap。默認只引入 bootstrap 中的 js,css 須要另外引入,個人 bootstrap.ss 在APP.vue中引入的 import "bootstrap"; //也能夠在這裏引入 bootstrap.css ; //import "bootstrap/dist/css/bootstrap.css"; Vue.config.productionTip = false; new Vue({ router: router, store: store, render: h => h(App) }).$mount("#app");
個人 APP.vue 的配置,只是引入 bootstrap.css,代碼僅供參考。node
<style> // 由於個人 bootstrap 文件通過了我本身的調整,因此單獨放在 assets 文件夾中作單獨引入。 //若是你只是想使用原生的 bootstrap,直接在 main.js 中引入 css 文件便可。 @import "./assets/css/bootstrap.css"; </style>
Vue CLI3.0 中的全部配置都在 vue.config.js 文件,你在這裏配置好,腳手架自動使用你的配置覆蓋掉默認的配置。
若是你的項目中沒有 vue.config.js 文件,請你在 package.json 文件的同級目錄新建一個 vue.config.js 文件。文件內具體的配置以下:jquery
const webpack = require("webpack"); module.exports = { //configureWebpack 是Vue CLI3.0 中用於配置 webpack 插件參數的地方,你在這裏設置,會新建或者覆蓋 webpack 默認配置。 //webpack ProvidePlugin 的含義是建立一個全局的變量,使這個變量在 webpack 各個模塊內均可以使用。這裏的配置含義是建立 '$'、'jQuery'、'window.jQuery' 三個變量指向 jquery 依賴,建立 'Popper' 變量指向 popper.js 依賴。 configureWebpack: { plugins: [ new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery', 'window.jQuery': 'jquery', Popper: ['popper.js', 'default'] }) ] } }
我作了一個 tooltip 的示例,鼠標放上去會出現 tooltip 提示webpack
//template <template> <div class="content-wrap"> <button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="left" title="Tooltip on left">Tooltip on left</button> <button type="button" class="btn btn-primary" data-toggle="tooltip" data-placement="top" title="Tooltip on top">Tooltip on top</button> <button type="button" class="btn btn-warning" data-toggle="tooltip" data-placement="bottom" title="Tooltip on bottom">Tooltip on bottom</button> <button type="button" class="btn btn-danger" data-toggle="tooltip" data-placement="right" title="Tooltip on right">Tooltip on right</button> </div> </template> <script> export default { name: "componentsTooltips", mounted: function() { //在頁面加載完畢後初始化 tooltip, 至關於$(function(){ $('[data-toggle="tooltip"]').tooltip(); } $('[data-toggle="tooltip"]').tooltip(); } }; </script>
若是 eslint 報誤,請設置 .eslintrc.js 文件。web
module.exports = { env: { node: true, jquery: true } };
本人測試結果以下:vue-cli
歡迎你們批評指正。
參考文檔:
Vue CLI3.0: https://cli.vuejs.org/zh/guid...
Bootstrap tooltip :https://v3.bootcss.com/javasc...
Stackoverflow: https://stackoverflow.com/que...