在nodejs上下文中使用jQuery时遇到问题

我正在写一个应用程序使用primefaces/电子完全是从现有的HTML / CSS / JS源build立。

经过几个小时调整咕噜脚本我终于有了一些build设。 但是,我不断收到以下错误:

Uncaught ReferenceError: jQuery is not defined 

在玩了一段时间之后,我总觉得自己的头靠在墙上,我终于意识到,这个jQuery源代码的一点点聪明才是怪罪。

特别是这条线

 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是明智的?

干杯

我也有同样的问题。 我不知道我在哪里find解决scheme,但对我来说工作得很好。

如果你想用电子来使用jQuery,你应该在每个html文件中作为一个模块来使用它。 比jQuery的作品或其他框架,这需要jQuery。

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

要安装jQuery模块,请使用npm

 npm install --save jquery