11

刚刚探索 node.js 并遇到了 express;在 npm 存储库站点https://www.npmjs.com/package/express上,它明确指出安装是

$ npm install express

但如果我向下滚动快速入门提及

$ npm install -g express-generator@4

有人可以详细解释发生了什么吗?我用谷歌搜索并了解到在 express v3 中两者都捆绑在一起,但在 express v4 中,生成器被拉出。

那我需要同时安装吗?生成器是否会自动安装 express 而不是相反?我已经有 JS 疲劳了,我才刚刚开始 :-(

补充问题: 为了进一步混淆问题,我看到另一个问题,问我应该以“npm init”开头并要求 express,还是“express myApp”。现在到底发生了什么,init从哪里来的?

2017 年 1 月 30 日更新 我已经接受了下面其他人的答案,但我也添加了自己的答案,这是我当时作为一个困惑的完整初学者所寻求的答案。它可能会帮助其他人。

4

3 回答 3

9

我的理解是:

  • express包是公开您可以在代码中使用的功能的框架
  • express-generator打包了一个实用程序,它提供了一个命令行工具,您可以使用它来构建项目 - 即创建样板文件夹结构、文件和代码。

作为样板文件的一部分,package.json文件定义了项目的依赖项——即项目所需的 npm 包。那里列出了快递包裹。

知道npm 安装指令(将当前工作目录设置为包含 package.json 的项目文件夹运行)会将 package.json 中列出的所有依赖项“安装”到您的项目文件夹中,以使它们可用于您的应用程序,这就足够了:

  • npm install express-generator -g
  • npm 安装
于 2016-12-24T08:46:21.137 回答
2

这个答案是指 Windows 上的“express”v4。我不知道快递 3 或更少的行为是什么。

0)以管理员身份打开cmd提示符

1) 全局安装 express-generator;

npm install -g express-generator

2)在您选择的目录中生成样板文件,例如

express myApp

3) cd 到 myApp 文件夹,您将在其中找到package.json(+ 您的主app.js文件,+ 其他文件夹)

4)最后安装'express'本地到您的应用程序文件夹(+ package.json中定义的任何其他依赖项)

npm install

注意:您在步骤 4) 中安装的 express 是指构成 express web 框架一部分的一组 javascript 文件,供您自己的应用程序使用和引用;步骤 2) 中提到的 express 实际上是您在步骤 1) 中全局安装的 express-generator cmd 行。

至于我的补充问题,npm init用于创建一个 package.json 文件,您可以在其中响应提示,npm init -y使用默认值自动创建 package.json ,无论哪种情况,它都与 express 无关。

如果您想在没有样板文件/文件夹的情况下从头开始构建项目,首先 npm init,然后npm install --save express,这会将 express 安装到您的应用程序本地, --save 选项将 express 作为依赖项添加到您的 package.json .

底线,要使用 express web 框架,你不必安装 express-generator,但你必须安装 express。如果你在开发 3 个使用 express 的应用程序,最简单的方法是在每个应用程序本地安装 express 3 次。

于 2017-01-29T14:42:45.390 回答
0

您可以同时使用两者,但您将无法找到 express 和 express-generator 之间的任何区别,但是,中间件等许多其他模块并不是 main express 所必需的,因此它们被添加为单独的模块,而生成器就是其中之一。

这种分离的想法使 express 变得轻巧,并设法有效地生成事物。

在 V4 中,generator 没有与 express 绑定,您需要下载两个单独的模块。

于 2016-12-24T07:52:07.247 回答