为什么不将Node包含为Express的依赖项?

时间:2018-12-23 03:10:41

标签: javascript node.js express

我正在学习Express,我发现每个文档都包含与Node相同的功能。例如,请求和响应被称为与Node完全相同。

请参阅此处: https://expressjs.com/en/starter/hello-world.html

如果未将Node作为依赖项包括在内,我是否可以假定他们使用的是Node项目中的派生分支?

package.json

中没有提及Node
  "dependencies": {
    "body-parser": "^1.18.2",
    "config": "^1.29.4",
    ...  snip
    "style-loader": "^0.19.1",
    "yarn": "^1.5.1"
  },

4 个答案:

答案 0 :(得分:2)

Node不是NPM软件包,它是运行Node模块的东西,因此不会在软件包依赖项下列出。

如果软件包选择指定运行它所需的Node版本,则

Node的特定版本可以在the engines key下列出。但是,这是可选信息。

答案 1 :(得分:2)

很多时候,您会看到一个程序包将其自身称为一个Node应用程序,这本身就令人困惑。

Express是可以使用npm安装的节点程序包。这也是一个依赖于节点运行时的框架。

节点运行时是一个位于v8引擎顶部的库。请参见此Medium article和此SO article

答案 2 :(得分:1)

我认为困惑来自许多开发人员,他们将许多应用程序和API互换地称为“节点应用程序”或“快速应用程序”。

我相信这是由于大量使用Express作为软件包的NodeJS服务器应用程序所致。

答案 3 :(得分:0)

Express是一个node.js软件包,您可能使用npm(节点软件包管理器)安装了该软件包。请参阅他们的入门指南:安装(https://expressjs.com/en/starter/installing.html),该安装通过npm安装express。 Node.js是服务器端javascript的环境,而express是node.js的库。