我有一个 VS2013 解决方案,其中混合了 NodeJS(使用 TypeScript)和 C# 类库项目(它们被 EdgeJS 绑定(bind)在一起)。就 NodeJS 项目而言,一个可以被认为是一个库(用于 RabbitMQ 总线实现),两个是应用程序,它们将作为第四个项目的一部分托管,两者都使用总线。
因此,一个项目 (host) 将依赖于三个项目 (bus, app1 和 app2)(它启动总线,并且将其传递给 app1 和 app2)。
当然,我可以将所有这些项目放在一起完成 - 但这是一个糟糕的想法。
如何打包这些项目以便正确重用和引用(如传统 .NET 中的程序集)?
NPM 最好吗?如果是这样,VS 是否提供这方面的任何内容?如果不是,那又怎样?
请注意,除了 Bus 项目之外,我不打算公开发布这些内容 - 我不确定这是否会改变任何内容。
最佳答案
一般来说,如果某些东西可以作为一个独立的库捆绑在一起,那么最好将其视为一个 Node 包,然后将该逻辑重构到它自己的项目中。听起来您已经在某种程度上做到了这一点,将您的 bus
、app1
和 app2
项目分开。如果它们是单独的包,我建议它们每个都有自己的 Git 存储库。
这里有一些文档可以帮助您开始使用 Node 包: https://www.npmjs.org/doc/misc/npm-developers.html
host
项目,如果不是您要打包而是部署的项目,可能不需要捆绑为 Node 包。相反,我会考虑将其从 Git 中拉下来并在某些服务器计算机上启动。
尽管如此,您的最后一行很重要:
I'm not looking to release these publicly
GitHub 确实有私有(private)仓库,但截至目前 npmjs.org 没有私有(private)仓库。有一些选项可以创建您自己的私有(private)存储库(Sinopia 和 Kappa 提供了不同的方法来完成此操作),但是如果您不希望此代码可供所有人使用,请不要部署它,请在 npmjs.org 上部署。您仍然可以按照我上面概述的方式打包它,只是暂时不要部署它。
关于node.js - Visual Studio NodeJS 工具 - 如何打包项目?创建 NPM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23896191/