日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

Vue导入非模块化的第三方插件功能无效解决方案

發布時間:2024/4/15 vue 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vue导入非模块化的第三方插件功能无效解决方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  一、問題:

    最近在寫vue項目時,想引入某些非模塊化的第三方插件時,總是發現會有報錯。且在與本地運行插件測試對比時發現插件根本沒有注入到jQuery中(console.log($.fn)查看當前jq有哪些方法),例如:

    

本地測試                            Vue頁面測試 Object [jquery: "1.10.2", …]                              Object [jquery: "1.10.2",…]
. .
. .
. .
val: ? (e)
val: ? (e)
velocity: ? () width: ? (i,o)
width: ? (i,o) wrap: ? (e)
wrap: ? (e) wrapAll: ? (e)
wrapAll: ? (e) wrapInner: ? (e)
wrapInner: ? (e)

  二、原因:

    由于jQuery這類的通用插件基本都是在模塊化引入進來,即在webpack.base.conf.js里引入,每個頁面使用的都是通用jq,單頁面引入的第三方插件并不會注入到通用的jq中,故jq內無插件方法。

plugins: [new webpack.ProvidePlugin({$: "jquery",jQuery: "jquery","windows.jQuery": "jquery"})],

    肯定有人會疑惑,那我在單頁面再單獨引入jQuery與插件可以嗎,很不幸地是此時js加載順序是:單頁面jQuery--->插件--->模塊化jQuery--->插件,也就是說模塊化的jq肯定會加載進來。

    

import '../../static/jquery-background/js/jquery.min.js'; import '../../static/jquery-background/js/velocity.js';

?

  三、解決方案:

   既然模塊化jq肯定會加載進來,只需把模塊化jq引入單頁面,拿插件方法注入。

   步驟:

    ①新建任意名.js,例如jquery-vendor.js;添加如下內容:

import $ from 'jquery' window.$ = $ jQuery = $ window.jQuery = $ export default $

    ②將新建的js與插件放在static下同一文件夾下,然后vue頁面引入即可:

import $ from '../../static/jquery-background/js/jquery-vendor.js'; import '../../static/jquery-background/js/velocity.js';

?

  

轉載于:https://www.cnblogs.com/Joker-Face/p/11020231.html

總結

以上是生活随笔為你收集整理的Vue导入非模块化的第三方插件功能无效解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。