为什么通过npm安装语义UI会忽略jQuery&;向它抛出引用错误?
Hy 我正试图在Windows10PC上安装CSS框架“语义UI”,并使用node.js中的npm 我仔细地遵循了规则为什么通过npm安装语义UI会忽略jQuery&;向它抛出引用错误?,jquery,node.js,windows,npm,semantic-ui,Jquery,Node.js,Windows,Npm,Semantic Ui,Hy 我正试图在Windows10PC上安装CSS框架“语义UI”,并使用node.js中的npm 我仔细地遵循了规则 我已使用安装成功的node.js(v4.0.0) 键入Windows cmdnpm安装-g gulp进行安装(npm v2.14.2)。 我第一次遇到一个错误ECONNRESET,我发现了它。因此gulp在全球成功安装 至少我尝试过几次使用以下代码安装语义UI: npm安装语义ui——保存 cd语义 狼吞虎咽 哪一个起到了一半的作用-&结果是缺少依赖项包jQuery。但我
npm安装-g gulp
进行安装(npm v2.14.2)。
- 我第一次遇到一个错误
,我发现了它。因此gulp在全球成功安装ECONNRESET
npm安装语义ui——保存
cd语义
狼吞虎咽
哪一个起到了一半的作用-&结果是缺少依赖项包jQuery。但我仍然能够使用
gulpbuild
构建新安装的默认语义UI框架Robert虽然jQuery是语义UI所必需的,但它不是npm所必需的 为了澄清这一点,jQuery是一个客户端JavaScript库。使用它需要将其.js文件包含在网页的
标记中。你可以从官方网站或网站下载
这是相关的,但决不是同一件事。当您想要构建自己的jQuery文件时(即,当您想要进行一些更改或有一些特定要求时),可以使用此包—您通常不想这样做
简言之,如果gulpbuild
对您有效,那么您就万事大吉了——您只需要两个文件:semantic.css和semantic.js。确保jQuery(在jQuery.com上找到,而不是使用npm安装的)也包含在您的网页中,就在semantic.js之前。因此,您的“基本”HTML文件应该如下所示(假设生成的semantic.css
和semantic.js
位于dist文件夹中):
标题
尸体在这里
问题可能出在节点本身。原因可能是当jquery也希望插入具有相同名称的符号时,节点会插入额外的符号
如此处所述:
由于Electron的Node.js集成,有一些额外的
插入到类似DOM的模块中的符号,导出,需要。这
导致某些库出现问题,因为它们要插入
具有相同名称的符号
但是如果您想保持使用Node.js和Electron的能力
API,在包含之前必须重命名页面中的符号
其他图书馆:
window.nodeRequire=require;删除window.require;
>删除window.exports;删除window.module;
注意:在重命名和删除符号后,在脚本中非常重要。您需要使用新符号。因此,您可以使用
nodeRequire
来代替require
。这将解决问题。我也遇到了同样的问题,使用electron开发桌面应用程序。这对我来说很好很好地解决了这个问题。这是一个常见的问题。在大多数依赖于node.js的解决方案中。当我使用bootstrap时,我也有过同样的问题。Jquery不起作用。这就是原因。这是解决方案。非常感谢@fstanis我明白了,在使用高级框架(如语义UI)和相关工具之前,我必须先学习基础知识。这节省了很多时间和精力^^就因为你在问题中提出了多少细节,我投了赞成票!
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<title>Title</title>
<link rel="stylesheet" type="text/css" href="dist/semantic.css">
</head>
<body>
Body goes here
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="dist/semantic.js"></script>
</body>
</html>
<head> <script> window.nodeRequire = require; delete window.require;
> delete window.exports; delete window.module; </script>
<script type="text/javascript" src="jquery.js"></script>
</head>