【问题标题】:Express module that requires express需要 express 的 Express 模块
【发布时间】:2014-10-23 08:30:37
【问题描述】:

在我的第一个 NodeJS Express 应用程序中,我安装了 express-couchUser。从我的应用程序的根目录中,我刚刚使用了npm install --save express-user-couchdb,它就像我预期的那样被下载和安装。让我犹豫的是,我现在有一个这样的目录结构:

~/project$ find . -type directory -name "express"
./node_modules/express
./node_modules/express-user-couchdb/node_modules/express
~/project$ find . -type directory -name "express" -exec sh -c "cd {}; grep version  package.json " \;
  "version": "4.9.7",
  "version": "3.2.6",

所以这似乎 express-user-couchdb 需要 express,它使用它来提供一些 API 路由,例如 api/user/signup。我明白了,但是像这样有两个不同版本的 express 似乎是错误的。是我出错了还是这正常?

【问题讨论】:

    标签: node.js express node-modules


    【解决方案1】:

    你没有做错任何事。 Node 模块可以定义自己的依赖和自己的依赖版本。如果您查看 express-user-couchdb 模块依赖项,您会发现它正在寻找 3.2.6 (https://github.com/twilson63/express-couchUser/blob/master/package.json#L23) 因此该模块中的任何代码都将使用其指定版本的 express 代码。

    您的应用程序正在使用更高版本的 express,因此当您与 express 代码交互时,您将使用您的应用程序所需的版本。

    快速查看 express-user-couchdb 文档,您似乎可以使用简单的 express 'use' 将其加载到您的 express 应用程序中,这在您的 express 版本中受支持,因此您应该不会遇到问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-24
      • 2016-07-14
      • 2012-01-24
      • 2019-11-27
      • 2017-03-28
      • 2020-08-31
      • 2015-08-14
      • 1970-01-01
      相关资源
      最近更新 更多