gpt4 book ai didi

visual-studio - 仅在需要时和/或部分运行npm install

转载 作者:行者123 更新时间:2023-12-03 14:39:51 25 4
gpt4 key购买 nike

当我们为该项目使用Visual Studio 2013时,我们从csproj文件中调用Gulp:

<Target Name="AfterBuild">
<Exec Command="gulp" />
</Target>

但是,由于我们仍在设计这个新项目,因此我们经常将 gulpfile.js扩展为包括新软件包。开发人员将执行例如 npm install gulp-util --save-dev并编写一个新任务,一切都很好。

然后,开发人员将 gulpfile.jspackages.json checkin 我们的VCS。目前:
  • Teamcity有一个额外的构建步骤npm install
  • 每个开发人员都必须手动运行npm install

  • 必须记住必须手动完成的事情并不是一个好地方。有一点我们在 csproj内的 Task文件中有了它……

     <Exec command="npm install" />

    ...就在 gulp执行程序之前,因此开发人员无法“忘记”采取此手动步骤。但是,这在每个(重新)构建上可能花费一秒钟甚至几秒钟,这很烦人。

    有没有更好的方法来解决这个问题?在大型(ish)团队使用Visual Studio开发的项目中,如何处理 packages.json的更新?

    最佳答案

    对我有用的方法是将MSBuild incremental build support与图章文件结合使用:

    <PropertyGroup>
    <!-- File with mtime of last successful npm install -->
    <NpmInstallStampFile>node_modules/.install-stamp</NpmInstallStampFile>
    </PropertyGroup>
    <Target Name="NpmInstall"
    BeforeTargets="BeforeBuild"
    Inputs="package.json"
    Outputs="$(NpmInstallStampFile)">
    <Exec Command="npm install" />
    <Touch Files="$(NpmInstallStampFile)" AlwaysCreate="true" />
    </Target>
    NpmInstall Target仅在 package.jsonnode_modules/.install-stamp更新时运行,并且在 npm install成功后会触摸该文件。这样 npm install在每次更改 package.json后仅运行一次。

    关于visual-studio - 仅在需要时和/或部分运行npm install,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35435041/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com