node.js - Visual Studio NodeJS 工具 - 如何打包项目?创建 NPM?

标签 node.js visual-studio-2013 typescript npm

我有一个 VS2013 解决方案,其中混合了 NodeJS(使用 TypeScript)和 C# 类库项目(它们被 EdgeJS 绑定(bind)在一起)。就 NodeJS 项目而言,一个可以被认为是一个库(用于 RabbitMQ 总线实现),两个是应用程序,它们将作为第四个项目的一部分托管,两者都使用总线。

因此,一个项目 (host) 将依赖于三个项目 (bus, app1app2)(它启动总线,并且将其传递给 app1app2)。

当然,我可以将所有这些项目放在一起完成 - 但这是一个糟糕的想法。

如何打包这些项目以便正确重用和引用(如传统 .NET 中的程序集)?

NPM 最好吗?如果是这样,VS 是否提供这方面的任何内容?如果不是,那又怎样?

请注意,除了 Bus 项目之外,我不打算公开发布这些内容 - 我不确定这是否会改变任何内容。

最佳答案

一般来说,如果某些东西可以作为一个独立的库捆绑在一起,那么最好将其视为一个 Node 包,然后将该逻辑重构到它自己的项目中。听起来您已经在某种程度上做到了这一点,将您的 busapp1app2 项目分开。如果它们是单独的包,我建议它们每个都有自己的 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)存储库(SinopiaKappa 提供了不同的方法来完成此操作),但是如果您不希望此代码可供所有人使用,请不要部署它,请在 npmjs.org 上部署。您仍然可以按照我上面概述的方式打包它,只是暂时不要部署它。

关于node.js - Visual Studio NodeJS 工具 - 如何打包项目?创建 NPM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23896191/

相关文章:

node.js - 为什么 require ('./' ) 与具有 index.js 的模块内部的 require ('./index' ) 不一样?

c++ - visual studio 2013 在运行.exe 时修改路径变量

unity3d - VS 中的 "release"和 "master"有什么区别?

Angular 6 - '"/node_modules/firebase/index "' has no exported member ' 函数'

typescript - ()=>any 和 {() :any} in Typescript 有什么区别

javascript - jestjs 如何测试使用 Performance.now() 的函数?

json - 如何将 JavaScript 函数存储到 mongoose 文档中?

javascript - 如何扩展动态导入的模块?

c# - 发布网站并没有更新我的 CSS 包

javascript - promise.then 中的 Typescript 编译错误