Electron:未定义jQuery

问题:在使用Electron进行开发时,当您尝试使用任何需要jQuery的JS插件时,该插件找不到jQuery,即使您使用脚本标记以正确的路径加载

比如说,

<车身>
<p id=“单击我”>点击我&lt/p>
...
<脚本src=”https://stackoverflow.com/questions/32621988/node_modules/jquery/dist/jquery.min.js“&gt&lt/脚本&gt//现在应该加载jQuery了
<脚本&gt$(“单击我”)。单击(()=>{alert(“Clicked”)})&lt/脚本>
&lt/车身>

运行上面的代码是行不通的。实际上,打开DevTools,转到Console视图,然后单击<p&gt元素。您应该看到,函数$没有定义或类似的内容

更好更通用的解决方案IMO:

<!——在脚本导入上方插入此行-->
<脚本>if(typeof module==='object'){window.module=module;module=undefined;}&lt/脚本>
<!--正常脚本导入等-->
<脚本src=”https://stackoverflow.com/questions/32621988/scripts/jquery.min.js“&gt&lt/脚本>
<脚本src=”https://stackoverflow.com/questions/32621988/scripts/vendor.js“&gt&lt/脚本>
<!--在脚本导入之后插入此行-->
<脚本>如果(window.module)module=window.module&lt/脚本>

好处

  • 适用于浏览器和electron,代码相同
  • 修复了所有第三方库(不仅仅是jQuery)的问题,而无需指定每个库
  • 脚本构建/打包友好(即Grunt/Gulp所有脚本到vendor.js)
  • 不要求节点集成为false

来源于此

发表评论