在nodejs电子app中使用jquery。我必须通过npm安装jQuery并使用require('jquery')
来引用jQuery
。
工作正常。
我需要知道为什么我不能像使用脚本标签在普通浏览器中那样附加jquery
<script src="jquery-1.12.1.min.js"></script> //getting error $ not defined
下面的代码只使用脚本标记来附加jquery,它得到一个错误,$未定义
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="jquery-1.12.1.min.js"></script>
<!--<script>-->
<!--var $ = require('jquery');-->
<!--</script>-->
<script>
$(document).ready(function(){});
</script>
<link href="style.css" rel="stylesheet">
</head>
<body>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Harum vel, ipsum nisi laboriosam nesciunt. Asperiores dolorum tempore quia, voluptatum laborum dolore officiis velit similique amet totam in? At, neque, assumenda.</p>
</body>
</html>
答案 0 :(得分:3)
正如已经提到的,jQuery试图变得聪明,并发现它是在浏览器还是在node.js环境中。在浏览器中,它将定义$
和jQuery
,但在node.js环境中,它会尝试通过将其分配给module.exports
来导出其主对象。
由于渲染器进程有node.js(和module
),jQuery错误地认为它包含在require
中。
因此,作为一种解决方法,您可以使用以下内容:
<script src="path/to/jquery/jquery.js" type="text/javascript"></script>
<script type="text/javascript"> jQuery = $ = module.exports </script>
答案 1 :(得分:0)
如果您在电子应用程序中尝试,那么很可能是Jquery文件不在指定的路径中。它很可能位于/ node_modules / Jquery / ......这样的东西。尝试绝对路径。或者,如果主机连接到Internet,您应该能够使用Jquery CDN。
这似乎是Electron的一个已知问题,