vue中引入jQuery&&&解决$ is not defined问题


记录一下jquery的安装方法以免忘记。

错误原因

很明显是没有安装jquery依赖包导致的。

解决办法

安装/导入jquery依赖包

npm install jquery --save
//		或者使用淘宝镜像
cnpm install jquery --save

配置文件

旧版本的话,是需要在webpack.base.conf.js(与public和src文件同级之前的版本)里面修改配置文件,这个文件现在在node_modules/@vue/cli-service/,寻找起来比较麻烦。
①在开头使用以下代码引入webpack,

var webpack = require('webpack')

②然后在module.exports中添加一段代码。

 plugins: [ 
    new webpack.optimize.CommonsChunkPlugin('common.js'),
    new webpack.ProvidePlugin({
      jQuery: "jquery",
      $: "jquery" 
    }) 
  ]

现在版本的话,直接在src与public文件夹同级目录下建立vue.config.js文件(其中应该是类似配置代理的文件,具体的话不太懂,参考其他文章)
请添加图片描述
然后后在建立好的文件中加入一下代码

var webpack = require('webpack')

module.exports = {
    lintOnSave: false,
    devServer: {
        proxy: {
            '/api': {
                target: 'http://localhost:8000', //建立本地服务器端口可能不一样
                changeOrigin: true,
                ws: true,
                pathRewrite: {
                    '^/api': ''
                }
            }
        }
    },
    configureWebpack: {
        plugins: [
            new webpack.ProvidePlugin({
                $: "jquery",
                jQuery: "jquery",
            })
        ]
    }
}

在main.js中全局导入jquery

import $ from 'jquery'

vue2.0中如下

Vue.config.productionTip = false
new Vue({
    router,
    store,
    $, //添加该行即可
    render: h => h(App)
}).$mount('#app')

vue3.0中的createApp如下,使用use($)

createApp(App).use(router).use($).mount('#app')

最后查看package.json,可以看到版本号,正常使用即可

dependencies": {
    "axios": "^0.21.1",
    "bootstrap": "^5.0.2",
    "bootstrap-vue": "^2.21.2",
    "core-js": "^3.6.5",
    "jquery": "^3.6.0",
    "vue": "^3.1.5",
    "vue-router": "^4.0.10"
  },

链接: 几个步骤解决 vue引入jquery时报错 $ is not defined.
链接: Vue小知识: $ is not defined错误解决.
链接: Vue-cli3 $ is not defined错误解决.

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在Vue,如果出现"vue jquery is not defined"的错误提示,通常有两种可能的原因。 首先,Vue本身并不依赖于jQuery库,所以如果使用Vue时同时也引入jQuery库,可能会出现该错误。解决办法是在引入Vue之后在页面不再引入jQuery库。 另外一种可能原因是在Vue的组件使用了jQuery的语法或方法,但是没有正确引入jQuery库。解决办法是在Vue的组件正确引入jQuery库。 举个例子,在Vue的组件想要使用jQuery的语法时,需要先在组件的script标签引入jQuery库,例如: ```javascript <script> import $ from 'jquery'; // 正确引入jQuery库 export default { methods: { someMethod() { // 使用jQuery的语法 $('#someElement').addClass('active'); } } } </script> ``` 同时,在引入jQuery库之前,需要确保已经安装了jQuery依赖,可以在命令行使用npm安装,例如:`npm install jquery`。 总之,需要据具体情况检查是否同时引入VuejQuery库,或者确定是否在Vue组件正确引入jQuery库,并且检查是否已安装了jQuery依赖。 ### 回答2: "Vue jQuery is not defined" 这个错误提示一般出现在Vue项目使用了jQuery插件或者使用了jQuery语法,但是没有正确引入和定义jQuery库。 要解决这个问题,首先应该确保正确引入jQuery库。在Vue项目,可以通过以下方式引入: 1. 从CDN引入: 在index.html文件的<head>标签添加以下代码: ``` <script src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script> ``` 2. 通过安装npm引入: 在终端执行以下命令安装jQuery: ``` npm install jquery --save ``` 然后在Vue组件可以通过以下方式引入和使用: ``` import $ from 'jquery'; ``` 引入jQuery后,还需确保正确使用了Vue的生命周期钩子函数,如created或mounted才能正确使用jQuery。例如: ``` export default { created() { // 在这里可以使用jQuery代码 } } ``` 若上述步骤都已经正确执行,但是问题仍然存在,可能是因为Vue项目的编译顺序有问题。在项目的入口文件main.js,应该将jQuery库的引入放在Vue实例的创建之前: ``` import Vue from 'vue'; import $ from 'jquery'; new Vue({ // Vue实例的配置 }) ``` 以上是解决"Vue jQuery is not defined"错误的常见方法,据具体情况可能还需要结合实际项目的配置和代码来进行调试和排查错误。 ### 回答3: 在Vue使用jQuery时报错"vue jquery is not defined"一般是因为未正确引入jQuery库或者引入的位置不正确导致的。 首先,确保已正确引入jQuery库,可以通过以下两种方式之一进行引入: 1. 在HTML使用<script>标签引入jQuery库,确保在引入Vue之前引入jQuery,例如: ```html <script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/jquery.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> ``` 2. 如果通过npm安装了jQuery,在Vue的入口文件(main.js或main.vue)使用import语句引入jQuery,例如: ```javascript import $ from 'jquery'; ``` 然后在Vue实例使用$符号来访问jQuery的功能。 其次,如果已正确引入jQuery库但问题仍然存在,可能是因为引入的位置不正确。Vue要求在使用jQuery时,需要在组件或页面加载完成后再使用,所以建议将需要使用jQuery的代码放在Vue的生命周期函数或Vue模板内的mounted钩子函数,确保Vue组件或页面加载完成后再进行jQuery操作。 综上所述,如果在Vue报错"vue jquery is not defined",首先要确保已正确引入jQuery库并在合适的位置引入,然后将jQuery操作代码放在加载完成后的钩子函数。这样就可以正确地在Vue使用jQuery了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值