一、问题:

    最近在写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';

  

Vue导入非模块化的第三方插件功能无效解决方案的更多相关文章

  1. vue 使用axios 数据请求第三方插件的使用

    axios 基于http客户端的promise,面向浏览器和nodejs 特色 浏览器端发起XMLHttpRequests请求 node端发起http请求 支持Promise API 监听请求和返回 ...

  2. 在vue中使用jq或者第三方插件

    1.安装jQuery npm i jquery -S 2.修改webpack的配置文件 文件目录及名称:build/webpack.base.conf.js 注释代码为修改部分 'use strict ...

  3. Webpack+Vue如何导入Jquery和Jquery的第三方插件

    创建一个jquery-vendor.js文件 import $ from 'jQuery'; console.log($); window.$ = $; window.jQuery = $; expo ...

  4. Fiddler抓包【7】_次要功能和第三方插件

    1.替换HTTP Request Host 应用场景:进行开发时,线上去测试跳转调试 替换命令:urlreplace news.baidu.com www.baidu.com: 清除命令:urlrep ...

  5. Fiddler抓包_次要功能和第三方插件

    1.替换HTTP Request Host 应用场景:进行开发时,线上去测试跳转调试 替换命令:urlreplace news.baidu.com www.baidu.com: 清除命令:urlrep ...

  6. vue中使用第三方插件animate.css实现动画效果

    vue中使用第三方插件animate.css实现动画效果1.首先先引入第三方类animated.css2.将你所需要动画的标签用包裹起来3.在transition元素中添加enter-active-c ...

  7. unity探索者之微信分享所有流程,非第三方插件

    版权声明:本文为原创文章,转载请声明http://www.cnblogs.com/unityExplorer/p/7560575.html 很久没有写新博客了,前段时间有些忙,这几天趟了几个微信分享的 ...

  8. 【收藏】Web前端开发第三方插件大全

    收集整理了一些Web前端开发比较成熟的第三方插件,分享给大家. ******************************************************************** ...

  9. 【分享】Web前端开发第三方插件大全

    收集整理了一些Web前端开发比较成熟的第三方插件,分享给大家. ******************************************************************** ...

随机推荐

  1. liunux中的标准输出。以及常用的 2>dev/null 命令的含义

    了解Linux怎样处理输入和输出是非常重要的.一旦我们了解其原理以后,我们就可以正确熟练地使用脚本把内容输出到正确的位置.同样我们也可以更好地理解输入重定向和输出重定向. 首先我们来了解一下linux ...

  2. spring security原理-学习笔记2-核心组件

    核心组件 AuthenticationManager,ProviderManager和AuthenticationProvider AuthenticationManager只是一个接口,实际中是如何 ...

  3. GridSplitter

    <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <Colum ...

  4. H5 video踩坑实录

    前段时间公司APP做了一个APP论坛会议,嵌入了h5播放器.我以为很简单,没想到,这正是我踩进泥潭的开始... (想要吸取经验的小伙伴可以慢慢往下看,想要解决方案的直接看最后!) 一.一开始我以为直接 ...

  5. The usage of Markdown---引用

    目录 1. 序言 2. 引用与嵌套引用 3. 列表中的引用 更新时间:209.09.14 1. 序言   在本篇,我们来仔细谈一下Markdown的引用. 2. 引用与嵌套引用   在Markdown ...

  6. JAVA NIO udp 实现 群转发

    场景很简单,就是多个客户端通过udp,连接到服务器(其实是无连接的,就是服务器保存了客户端的ip信息).然后通过udp协议先服务器发送消息,然后服务器在通过udp转发在各个客服端. 这个是不是 观察者 ...

  7. SQlite 日期时间总结

    1. 时间串转时间戳,函数strftime,其参数1是固定'%s',参数2是待转换的时间串,参数3...是修饰符 (1)select strftime('%s','2004-01-01 02:34:5 ...

  8. Just For Test

    Just For Test

  9. 使用ESP8266 打造一款物联网产品---新版ESP8266-RTOS-SDK(V3.1以上)串口使用指南

    问题背景: 使用乐鑫的ESP8266做一个物联网的项目,要使用串口0通信,串口1作为打印log.本来是一个非常简单的事情.没想到居然里面有个大坑.本着前任踩坑,后任抱娃的原则. 这里就做个记录,给后面 ...

  10. 【POJ3208】Apocalypse Someday

    Description 666号被认为是神秘的"野兽之数",在所有以启示录为主题的大片中都是一个被广泛使用的数字.但是,这个数字666不能总是在脚本中使用,所以应该使用1666这样 ...