使用gulp恢复npm包

时间:2016-10-13 06:31:46

标签: visual-studio version-control npm gulp gulp-install

我正在使用Visual Studio和TypeScript开发Web应用程序。有一些非常基本的东西,我不明白。

我不想将所有节点模块都签入到我的源代码控制中(它有很多文件,我不想用外部代码更新来污染我的存储库)。所以我希望能够在构建之前恢复它们。我在网上发现gulp-install可以用来恢复包。但是,gulp-install本身就是一个包,那么如何使用呢?

在gulp教程中,它说gulp本身应该全局和本地安装。我假设全局安装允许运行gulp文件,即使其他包不在那里。但其余的呢? gulp-install没有提到它应该全局安装。现在,我可以编写一个运行nmp install的预构建事件,但随后会安装所有的软件包,所以我不明白gulp-install对...有什么好处。

所以我真正要问的是一起使用gulp,gulp-install和源代码控制的正确方法是什么。

2 个答案:

答案 0 :(得分:0)

"我可以编写一个运行npm install"的预构建事件。 - 这就是你想要的。去gulp-install的路线确实需要所有用户已经安装了全局gulp。安装gulp允许你在一次调用中从其他软件包管理器中拉出来,而不是拉着npm,但正如你所说的那样,必须安装gulp才能使其在源代码控制之外工作。如果你愿意的话,你也可以在当地的npm gulp安装中查看。

答案 1 :(得分:0)

我不知道这是gulp和/或gulp-install的作者是否考虑到了这一点,但这就是我最终做的事情: 我安装了一个名为npm.js的NuGet包,它依赖于Node.js并在构建之前运行npm install。 它所依赖的最小Node.js版本已经过时但是有一个较新的Node.js软件包可以安装并获得节点5.3.0。如果我需要更新的节点版本,我可能会要求作者创建一个新的包,或者自己做。

所以我最终没有使用gulp-install,而是使用NuGet安装所有节点包。

这个解决方案对我有用,因为NuGet是我不需要安装的东西 - 它始终存在于开发环境和构建服务器上,所以解决方案完全是独立的,不依赖于任何新的安装。