为什么通过npm安装Semantic UI会错过jQuery并向它抛出一个引用错误?

Rob*_*ski 7 windows jquery node.js npm semantic-ui

HY,

我正在尝试使用node.js中的npm在Windows 10 PC上安装CSS-Framework"Semantic UI".

我仔细地遵循了正式的安装说明.

  1. 我已经使用官方Windows Installer安装了成功的node.js(v4.0.0).
  2. 在Windows中键入在cmd npm install -g gulp安装一饮而尽(NPM v2.14.2).
    • 我第一次遇到错误ECONNRESET,我可以解决.因此gulp在全球范围内成功安装.
  3. 至少我已经多次尝试使用以下代码安装Semantic UI:

    npm install semantic-ui --save cd semantic gulp build
    哪个工作中途 - WARN peerdependencies和缺少的依赖包jQuery就是结果.但我仍然能够构建我新安装的默认语义UI框架gulp build.

我说它在我的Windows 10系统上工作了一半,但当我尝试调用默认模板固定菜单的本地文件副本时,我在google chrome开发人员工具中遇到以下错误:

未捕获的ReferenceError:未定义jQuery/semantic.min.js:11

好的,它只是一个未知的引用,但这指向了缺少的jQuery包.在谷歌搜索之后我发现了一个npm包npm-install-missing(我的困境最好的结果)并在我的项目文件夹中试用 - 没有任何事情发生,因为没有package.json依赖文件.

于是我就在我给出的项目结构更深的故宫"项目文件夹\node_modules\semantic_ui跑一遍,结果是在每个包的完整包更新.node_modules与封闭-folder jQuery的包和一些:github上,gulp- concat-filenames,gulp-debug,gulp-git,gulp-json-editor,gulp-prompt,gulp-tap,merge-stream,mkdirp和wrench.由于Semantic UI的依赖性,错过了11个软件包.

但是jQuery ReferenceError仍然可用.当你在官方的semantic-ui.com/上试用google chromes开发者工具时,它是用它自己的框架构建的,所以你不能得到任何错误,尽管他们把semantic.min.js文件放在同一个默认目录中 -结构dist/semantic.min.js.好的,我的路径前面只有一个目录:semantic/dist/semantic.min.js - 但是,这是如何在官方文档中完成的.

希望有人能帮助我让这个框架充满活力.:)

谢谢,
罗伯特

fst*_*nis 13

虽然Semantic UI需要jQuery,但它不是npm要求.

为了澄清,jQuery是一个客户端JavaScript库.使用它需要您将.js文件包含在<script>标记内的网页上.您可以从官方网站下载使用CDN.

jQuery的NPM包是相关的,但绝不是一回事.当您想要构建自己的jQuery文件时(即当您想要进行一些更改或具有某些特定要求时),可以使用此包 - 您通常希望这样做.

简而言之,如果gulp build为你工作,那么你就完全了 - 你需要的只有两个文件是semantic.csssemantic.js.确保jQuery(在jquery.com上找到,而不是使用npm安装的那个)也包含在你的网页中,就在semantic.js之前.所以你的"基础"HTML文件看起来应该是这样的(假设生成semantic.csssemantic.js位于dist文件夹中):

<!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>
Run Code Online (Sandbox Code Playgroud)