Vue CLI3.0 中使用jQuery 和 Bootstrap

在 Vue 中使用 jQuery 和 Bootstrap 不是特別符合 Vue 原生的寫(xiě)法,但是有時(shí)候又要用,所以放上我的引入設(shè)置,供大家參考。

在 Vue CLI2.0 中引入 jQuery 和 Bootstrap 需要設(shè)置很多配置項(xiàng),網(wǎng)上有很多方法法,這里不重復(fù)寫(xiě)了。直接上 Vue CLI3.0 配置步驟。

第一步:安裝 jQuery、 Bootstrap、popper.js依賴。

其中popper.js 用于在 Bootstrap 中顯示彈窗、提示、下拉菜單,所以需要引入。

npm install jquery bootstrap@3 popper.js --save

注意:上面的 bootstrap@3 指的是安裝 Bootstrap 第三版,如果不加 @3 符號(hào),默認(rèn)安裝第四版。

第二步:配置 main.js

引入 Boostrap 請(qǐng)看配置文件。

//main.js

import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
//在這里引入 bootstrap。默認(rèn)只引入 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,代碼僅供參考。

<style>
// 因?yàn)槲业?bootstrap 文件經(jīng)過(guò)了我自己的調(diào)整,所以單獨(dú)放在 assets 文件夾中做單獨(dú)引入。
//如果你只是想使用原生的 bootstrap,直接在 main.js 中引入 css 文件即可。
@import "./assets/css/bootstrap.css";
</style>

第三步:配置 vue.config.js 文件

Vue CLI3.0 中的所有配置都在 vue.config.js 文件,你在這里配置好,腳手架自動(dòng)使用你的配置覆蓋掉默認(rèn)的配置。
如果你的項(xiàng)目中沒(méi)有 vue.config.js 文件,請(qǐng)你在 package.json 文件的同級(jí)目錄新建一個(gè) vue.config.js 文件。文件內(nèi)具體的配置如下:

const webpack = require("webpack");

module.exports = {
//configureWebpack 是Vue CLI3.0 中用于配置 webpack 插件參數(shù)的地方,你在這里設(shè)置,會(huì)新建或者覆蓋 webpack 默認(rèn)配置。
//webpack ProvidePlugin 的含義是創(chuàng)建一個(gè)全局的變量,使這個(gè)變量在 webpack 各個(gè)模塊內(nèi)都可以使用。這里的配置含義是創(chuàng)建 '$'、'jQuery'、'window.jQuery' 三個(gè)變量指向 jquery 依賴,創(chuàng)建 'Popper' 變量指向 popper.js 依賴。
    configureWebpack: {
        plugins: [
            new webpack.ProvidePlugin({
                $: 'jquery',
                jQuery: 'jquery',
                'window.jQuery': 'jquery',
                Popper: ['popper.js', 'default']
              })
        ]
      }
}

第四步:具體使用范例

我做了一個(gè) tooltip 的示例,鼠標(biāo)放上去會(huì)出現(xiàn) tooltip 提示

//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
<script>
export default {
  name: "componentsTooltips",
  mounted: function() {
    //在頁(yè)面加載完畢后初始化 tooltip, 相當(dāng)于$(function(){ $('[data-toggle="tooltip"]').tooltip(); }
    $('[data-toggle="tooltip"]').tooltip();
  }
};
</script>

如果 eslint 報(bào)誤,請(qǐng)?jiān)O(shè)置 .eslintrc.js 文件。

module.exports = {
  env: {
    node: true,
    jquery: true
  }
};

本人測(cè)試結(jié)果如下:


tooltip_show.jpg

歡迎大家批評(píng)指正。

參考文檔:
Vue CLI3.0: https://cli.vuejs.org/zh/guide/webpack.html
Bootstrap tooltip :https://v3.bootcss.com/javascript/#tooltips
Stackoverflow: https://stackoverflow.com/questions/42684661/adding-bootstrap-to-vue-cli-project

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1 Webpack 1.1 概念簡(jiǎn)介 1.1.1 WebPack是什么 1、一個(gè)打包工具 2、一個(gè)模塊加載工具 3...
    Kevin_Junbaozi閱讀 7,006評(píng)論 0 16
  • Vue開(kāi)源項(xiàng)目庫(kù) Vue.js開(kāi)源項(xiàng)目速查表:https://www.ctolib.com/cheatsheets...
    cctN閱讀 1,122評(píng)論 0 13
  • 最近在逛各大網(wǎng)站,論壇,以及像SegmentFault等編程問(wèn)答社區(qū),發(fā)現(xiàn)Vue.js異?;鸨?,重復(fù)性的提問(wèn)和內(nèi)容...
    忘川慕白閱讀 6,133評(píng)論 7 113
  • 熊孩子在沙發(fā)上模仿湯姆造船,他造“書(shū)屋”,要我坐在書(shū)屋里陪他讀書(shū)。還玩了“盲人摸象”的游戲 圖片發(fā)自簡(jiǎn)書(shū)App
    魚(yú)女王閱讀 224評(píng)論 0 1
  • 今天,摸索著進(jìn)入簡(jiǎn)書(shū)平臺(tái),就沖著她有寫(xiě)作功能,也能分享別人的作品。內(nèi)心有些激動(dòng),我將開(kāi)啟一種新的生活。堅(jiān)持每天寫(xiě)1...
    獨(dú)孤草原狼閱讀 234評(píng)論 0 0

友情鏈接更多精彩內(nèi)容