2015-10-13 40 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'而不是'$'? –

相關問題