适用于VS2015的Nodejs工具,具有本地依赖性

我正在尝试使用VS2015的NodeJS工具构build一个节点js 项目 。

在这个解决scheme中,有一个主项目在子文件夹中有子项目,即每个子文件夹都有自己的package.json和自己的代码,每个子文件夹声明自己的依赖关系到其他项目。

我的问题是,当我在主项目中执行“npm install”时,“npm”从npmregistry下载软件包。

我知道可以使用:

"dependencies": { "common": "file:path/to/common", } 

但是这种方法迫使我手动维护两个package.json文件,并在每次提交时重命名(项目是开源的,在github上)。 这是麻烦和容易出错。

我的问题是:我可以configurationVS的NodeJS工具来处理两种不同的debugging和发布configuration? 即以类似的方式,我可以在一个C#项目中做到这一点。

就像使用package.Debug.json文件一样…欢迎任何其他方法。

要做到这一点,你可以使用npm-link来创build一个包和它的源代码之间的链接(这篇文章非常有趣: npm链接:开发你自己的npm模块而不会stream泪 )

在你的情况下:

  • 为每个子项目执行npm link
  • 在主项目中,执行npm link subproject1npm link subprojectN

我已经用Visual Studio 2015testing了两个项目的解决scheme

 nodejs-projectdeps |- nodejs-projectdeps-main |- nodejs-projectdeps-module1 

package.json为nodejs-projectdeps-main

 { "name": "nodejs-projectdeps-main", "version": "0.0.0", "description": "nodejs-projectdeps-main", "main": "app.js", "dependencies": { "azure": "^0.10.6", "nodejs-projectdeps-module1": "0.0.0" } } 

package.json为nodejs-projectdeps-module1

 { "name": "nodejs-projectdeps-module1", "version": "0.0.0", "description": "nodejs-projectdeps-module1", "main": "app.js", "dependencies": { "dockerctl": "0.0.0" } } 

然后我在nodejs-projectdeps-module1项目文件夹中执行npm link ,结果是:

 C:\Users\...\npm\node_modules\nodejs-projectdeps-module1 -> C:\src\nodejs-projectdeps\nodejs-projectdeps-module1 

npm link in the nodejs-projectdeps-module1项目文件夹中执行了npm link in the nodejs-projectdeps-module1之后,结果是:

 C:\src\nodejs-projectdeps-main\node_modules\nodejs-projectdeps-module1 -> C:\Users\...\npm\node_modules\nodejs-projectdeps-module1 -> C:\src\nodejs-projectdeps\nodejs-projectdeps-module1 

毕竟, Visual Studio 2015中的解决scheme以这种方式显示了依赖关系:

Visual Studio NodeJs解决方案

更新 :我的testing代码的来源在GitHub上发布