build立模块时,我们应该在哪里保存演示应用程序依赖关系?

我正在构build我的第一个节点模块。 模块内部有一个演示应用程序。 该演示仅在开发过程中有用。 我们在哪里放演示的依赖关系?

想到的第一个答案是把它们放到devDependencies ,因为它们只在开发过程中有用。 这就是说,通常我保留devDependencies的构build工具,而不是运行(演示)应用程序的模块。

所以问题是,当开发一个包含自己的演示应用程序的模块时,在哪里放置演示应用程序的依赖关系?

  • dependencies
  • devDependencies
  • 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 。 当有人克隆我们的回购,我们希望他们最好能够拉下demo/third-party-modules

在大多数情况下,演示应用程序将依赖于您构build的模块, aurelia-open-id-connect 。 如果您的演示应用程序除了您的模块以外还有其他的依赖关系,它应该包含在optionalDependencies

参考这个

这些模块应该安装-O选项。 例如, npm i express -O