问题:在使用Electron进行开发时,当您尝试使用任何需要jQuery的JS插件时,该插件找不到jQuery,即使您使用脚本标记以正确的路径加载
比如说,
<;车身>;
<;p id=“单击我”>;点击我</p>;
...
<;脚本src=”https://stackoverflow.com/questions/32621988/node_modules/jquery/dist/jquery.min.js“></脚本>//现在应该加载jQuery了
<;脚本>$(“单击我”)。单击(()=>;{alert(“Clicked”)})</脚本>;
</车身>;
运行上面的代码是行不通的。实际上,打开DevTools,转到Console视图,然后单击<;p>元素。您应该看到,函数$没有定义或类似的内容
更好更通用的解决方案IMO:
<;!——在脚本导入上方插入此行-->;
<;脚本>;if(typeof module==='object'){window.module=module;module=undefined;}</脚本>;
<;!--正常脚本导入等-->;
<;脚本src=”https://stackoverflow.com/questions/32621988/scripts/jquery.min.js“></脚本>;
<;脚本src=”https://stackoverflow.com/questions/32621988/scripts/vendor.js“></脚本>;
<;!--在脚本导入之后插入此行-->;
<;脚本>;如果(window.module)module=window.module</脚本>;
好处
- 适用于浏览器和electron,代码相同
- 修复了所有第三方库(不仅仅是jQuery)的问题,而无需指定每个库
- 脚本构建/打包友好(即Grunt/Gulp所有脚本到vendor.js)
- 不要求
节点集成为false
来源于此