【问题标题】:Restoring npm packages using gulp使用 gulp 恢复 npm 包
【发布时间】:2016-10-13 06:31:46
【问题描述】:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    “我可以编写一个运行 npm install 的预构建事件”——这就是你想要的。转到 gulp-install 的路线确实需要所有用户都已经拥有全局 gulp 安装。拥有 gulp install 允许您在一个调用中从其他包管理器中提取,而不是仅拉入 npm,但正如您所说,您必须在某个地方已经安装 gulp 才能使其在源代码控制之外正常工作。如果需要,您也可以只签入本地 npm gulp install。

    【讨论】:

      【解决方案2】:

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

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

      此解决方案适用于我,因为我不必安装 NuGet - 它始终存在于开发环境和构建服务器上,因此该解决方案是完全独立的,不依赖于任何新的安装。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多