2015-10-13 51 views
0

我得到定义:

Uncaught ReferenceError: $ is not defined 

这里是我的脚本:

import 'jquery'; 
import domready from 'domready'; 


class App { 
    constructor() { 
     domready(() => { 
      this.init(); 
     }); 
    } 

    init() { 

     console.log($('.menu')); 

    } 

} 

new App(); 

export default App; 

我AVE检查了我的编译代码和jQuery在拉,我在哪里出错了?

+0

请修改您的问题以提供更多详细信息,而不是重新发布它的不同版本。 – Bergi

回答

0

Browserify没有使用全局窗口范围,但jQuery是。试试这个:

import $ from 'jquery'; 
import domready from 'domready'; 


class App { 
    constructor() { 
     domready(() => { 
      this.init(); 
     }); 
    } 

    init() { 

     console.log($('.menu')); 

    } 

} 

new App(); 

export default App; 

唯一的区别就是我定义与import from $。

+0

我没有尝试这个作为另一个用户指出:jQuery仍然有效的原因是因为jQuery的作用。如果您查看jQuery库的来源,它将自己设置为window.jQuery。这会在全局范围内创建jQuery和$变量,因此您仍然可以使用变量jQuery和$。 domready库没有。它返回自己的一个实例,所以你必须使用import from将它保存到一个变量中。 http://stackoverflow.com/questions/33107689/difference-between-import-and-import-from – panthro

+0

“其他用户”是我。如果Browserify不使用全局窗口范围,我不知道如何帮助您。 –

+0

您是否尝试过使用'jQuery'而不是'$'? –

相关问题