未捕获的ReferenceError:$未定义(VueJS)

时间:2018-01-30 14:37:16

标签: jquery vue.js semantic-ui

我用:

启动了一个VueJS项目
vue init webpack my-project

用npm获得jQuery:

npm install jquery

我把这行放在我的main.js文件中:

window.$ = window.jQuery = require('jquery')

无论哪种方式,我都不能使用这段代码:(来自语义ui)

$('.ui.rating')
  .rating()
;

因为我收到了这个错误:

Uncaught ReferenceError: $ is not defined

知道为什么会这样吗?

2 个答案:

答案 0 :(得分:7)

如果您通过npm安装了jQuery,只需将其导入如下:

import $ from 'jquery'

在您的方法中,您可以开始使用$

methods: {
  getFoo() {
    $( "div.foo" ).html();
  }
}

答案 1 :(得分:0)

最好将您的 jQuery 代码与 Vue 代码分开。您可以通过在资产中创建jQuery文件并使用 ECMAScript exportimport功能来实现这一目标。

 //your jQuery functions file e.g main.js
    import $ from 'jQuery //import jQuery 

    export function somethingWithjQuery(){
     console.log($)
     }

在您的 Vue 组件中,您可以执行以下操作:

 import {somethingWithjQuery} from './assets/js/main'

    export default {
        name: 'app',
        components: {
            Hello
        },
        mounted() {
            somethingWithjQuery()
        }
    }