0

plugins:[

new webpack.ProvidePlugin({
    jQuery: "jquery",
    $: "jquery"
})

]
使用了这个还是不可以,
大家是怎么解决的

9个回答

2

背其道而行,如果这是必要的,那肯定是项目架构出了问题

1

index.html直接引入JQ

1

谁说vue中不能用vue的,都是扯,虽然官方不推荐并且设计思想两者不同,但在使用也无大碍。
但原则上,我支持不使用jq!
vue中所有的dom操作都是vue在指令中代你执行了。并且提一下vue中有一个$refs,可以通过这个来获取元素dom对象
这是我的,有兴趣可以去看看,欢迎star以及issue https://github.com/allan2code...
不扯了,还是先讲怎么调用jq吧。

1、全局使用,webpack:

npm install jquery --save-dev

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

2、局部组件使用,webpack:

//第一步安装:

npm install 'jquery'

//第二步需要的组件内引用:

import $ from 'jquery'

3、require.js或sea.js:

var $ = require('jquery');

4、script标签
直接在html中插入

5、expose-loader
不需要任何其他的插件配合,只要将下面的代码添加到所有的loader之前

 {
    test: require.resolve('jquery'),
    loader: 'expose?jQuery!expose?$'
 }

引用时改为如下方式

import $ from 'expose?$!jquery'

暂时想到这些。

0

页面直接单独引入呗,或者npm install jquery,通过import引呗

0

直接在index.html 里引入 JQ 就行了,为什么要搞那种多余的事情。 都是这么用。

0

既然用了vue 就抛弃jq吧

0

既然大家都劝你放弃jquery楼主就在vue中放弃jquery吧。如果在vue应用中实在需要jquery(也是有可能的,虽然可能性很小了),通过npm安装jquery,在main.js中

import jquery from 'jquery';
global.jquery = global.$ = jquery;

这样在$就可以在全局使用了。但是注意,涉及到jquery第三方插件时,在第三方插件中还是有可能读不到jquery(N种情况可能导致),楼主可以亲自踩一下这个坑。

题外话:不用jquery不是jquery落后,而是使用其操作DOM的想法与Vue的数据驱动的理念不相符。

0

直接用 jquery 其实已经违背了使用 vue 框架的初衷,vue 是数据驱动视图框架,也就是说所有的dom 操作,都应该通过数据去控制,而不是用 jquery,如果确实需要操作 dom,那么应该是开发一个自定义指令,在指令里面进行 dom 操作,自定义指令在官方文档有教你怎么开发,当然你说我就是要用,那就直接在页面加进去就行了

0

用了vue就放弃用jq吧

该答案已被忽略,原因:不符合答题规范,内容不是答案,可用评论、投票替代

撰写答案