2015-09-01 26 views
1

我正在使用atom/electron編寫應用程序,它完全是從現有的html/css/js源代碼構建的。在nodejs上下文中使用jQuery時遇到問題

經過幾個小時調整咕嚕腳本後,我終於找到了一些東西。不過,我一直得到以下錯誤:

Uncaught ReferenceError: jQuery is not defined 

經過一番玩弄和一般撲我的頭靠在牆上我終於明白了jQuery source的這個聰明的一點是罪魁禍首。

Inparticular,這條線

if (typeof module === "object" && typeof module.exports === "object") { 
    // Assume node context 
} 

所以我不會瘋。 jQuery實際上是加載的,但它被引導到節點上下文而不是瀏覽器上下文,導致所有連續的插件都抱怨window.jQuery沒有被定義。

我首先想到的是這個厚臉皮的片段扔了jQuery源

if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') { 
    global.jQuery = global.$ = window.jQuery = window.$ = module.exports; 
} 

這看起來像它做的伎倆後。不過,我並不是atom/electron/webkit的專家。有誰知道一個更清晰的方法,是否明智地更改<script>標籤中包含的文件module.exports是否明智?

乾杯

+0

的可能重複[未捕獲的錯誤:無法找到模塊 'jQuery的'](http://stackoverflow.com/questions/32265449/uncaught-error -cannot-find-module-jquery) –

+0

這可能對你有所幫助:http://stackoverflow.com/a/32335874/2295964 –

回答

1

我也有同樣的問題。我不知道我在哪裏找到解決方案,但對我來說工作得很好。

如果你想使用jQuery與電子,你應該在每個html文件中要求它作爲一個模塊。比jQuery的作品或其他框架,它需要jQuery。

<script>$ = jQuery = require("jquery")</script> 

要安裝jQuery的模塊使用NPM

npm install --save jquery