快递或快递发电机:我需要两者吗?

express or express-generator: do i need both?

刚刚探索 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 是从哪里来的?

更新 30/Jan/2017 我在下面接受了其他人的回答,但我也添加了我自己的答案,这是我当时作为一个困惑的完全初学者所寻求的。它可能会对其他人有所帮助。

你可以同时使用两者,你​​将无法发现 express 和 express-generator 之间的任何区别,但是,许多其他模块(如中间件)并不是 main express 所必需的,因此它们被添加为单独的模块,而 generator 是其中之一那些。

这种分离的想法使 express 轻量级并设法有效地生成东西。

在V4中,生成器不与express绑定,您需要下载两个单独的模块。

我的理解是:

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

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

了解 npm install 指令(运行 当前工作目录设置为包含 package.json 的项目文件夹)将 "install" 所有依赖项将 package.json 中列出的内容放入您的项目文件夹中,以便您的应用程序可以使用它们,这样做就足够了:

  • npm install express-generator -g
  • npm 安装

此答案参考了 Windows 上的 'express' v4。我不知道 express 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 次。