node.js - 为什么我不能在 Electron 中使用脚本标签引用 jQuery?

标签 node.js electron

在 nodejs electron 应用程序中使用 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>

最佳答案

如前所述,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>

关于node.js - 为什么我不能在 Electron 中使用脚本标签引用 jQuery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35962868/

相关文章:

node.js - 无法在 BeagleBone 上的 Cloud9 中运行骨脚本文件

electron - 用于打开在 Electron 中不起作用的pdf文件的参数

file - Electron sheetjs从JSON下载生成的文件

node.js - 在 Express/Node 中通过 https 强制请求

node.js - Nodejs Jest 单元测试无法从 Mongodb 查找、findOne 内部返回值

node.js - 使用 Node 模块的返回值作为变量?

c# - 如何从命令行覆盖应用程序版本?

node.js - 一个 node.js 进程可以处理多少个事件流

javascript - 如何在控制台日志之外获取IPC消息的值?

javascript - 使用JavaScript(Electron/node.js)检查文件中是否已经存在一行