node.js - 构建模块时,我们在哪里保存演示应用程序依赖项?

标签 node.js node-modules package.json

我正在构建我的第一个 Node 模块。模块内部有一个演示应用程序。该演示仅在开发期间有用。我们将演示的依赖项放在哪里?

我想到的第一个答案是将它们放入 devDependency 中,因为它们仅在开发期间有用。话虽这么说,通常我为构建工具保留 devDependency,而不是为运行(演示)应用程序的模块保留。

所以问题是,在开发包含自己的演示应用程序的模块时,将演示应用程序的依赖项放在哪里?

  • 依赖项
  • devDependency
  • someWhereElse

这是模块:https://github.com/shaunluttin/aurelia-open-id-connect

这是我的模块中依赖关系的高级图表。 () 中的位置基于 Pranesh 的答案。

demo
  third-party-modules (optionalDependencies)
  my-module
    third-party-modules (dependencies)

当有人安装我们的模块时,我们希望他们只下载my-module/third-party-modules。当有人克隆我们的存储库时,我们希望他们也能够下载演示/第三方模块

最佳答案

在大多数情况下,演示应用程序将依赖于您构建的模块,在您的情况下为 aurelia-open-id-connect。如果演示应用程序除模块之外还有任何其他依赖项,则它应位于 可选依赖项 下。

引用this

这些模块应使用-O选项安装。示例,npm i express -O

关于node.js - 构建模块时,我们在哪里保存演示应用程序依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39678323/

相关文章:

node.js - 错误 : No valid exports main found for (Module path)

vue.js - Vue PWA 插件 - list 不使用我的配置属性

node.js - 使用路由 V4 在快速验证器上未定义检查

sql - 如何使用 Sequelize 将项目插入序列中,或如何管理排序属性

mysql - 返回 Node 中的数据库值

node.js - yarn 安装因 node-sass/node-modules 失败

mysql - 如何在 node.js 中将特定范围的端口重定向到端口 80

node.js - 压缩警告 : missing end signature when zipping a directory

node.js - 如何使用 npm 仅安装 "devDependencies"

node.js - npm require 的问题