在Visual Studio项目中运行npm安装&x27;s生成后事件
在我的项目的后期构建事件中,我有两个任务——运行在Visual Studio项目中运行npm安装&x27;s生成后事件,npm,tfs,azure-devops,visual-studio-2019,post-build-event,Npm,Tfs,Azure Devops,Visual Studio 2019,Post Build Event,在我的项目的后期构建事件中,我有两个任务——运行npm安装,然后运行一个gulpfile 我正在使用Azure DevOps,在我的构建管道中,当在我的项目的构建后事件中运行npm install时,它只运行npm install命令,而不运行gulpfile。它输出: 但是,如果我在项目的后期构建事件中运行npm安装之前运行npm安装任务(直接指向我的package.json),那么gulpfile确实会运行 我想知道这里会有什么问题?是不是因为我没有在后期构建事件中指定package.js
npm安装
,然后运行一个gulpfile
我正在使用Azure DevOps,在我的构建管道中,当在我的项目的构建后事件中运行npm install
时,它只运行npm install
命令,而不运行gulpfile。它输出:
但是,如果我在项目的后期构建事件中运行npm安装
之前运行npm安装
任务(直接指向我的package.json
),那么gulpfile确实会运行
我想知道这里会有什么问题?是不是因为我没有在后期构建事件中指定package.json
我的生成后事件脚本如下所示:
npm install
node.exe "node_modules\gulp\bin\gulp.js" --gulpfile "gulpfile.js"
问题在于,在生成后事件脚本中直接在中调用
npm install
,会停止父批处理程序。解决此问题的方法是使用命令call
,该命令已记录在案。也就是说,使用call npm install
问题在于,直接在生成后事件脚本中调用npm install
会停止父批处理程序。解决此问题的方法是使用命令call
,该命令已记录在案。也就是说,使用调用npm安装
您可以在问题中添加如何定义生成后事件的内容吗?为什么必须将npm安装放在生成后事件中?我们通常只有在从repo获得源代码后才在管道顶部使用它。它更易于使用。@PatrickLu MSFT我这样做的主要原因是,我的Azure DevOps构建管道只需要担心打包和上载构建工件。我们本可以将npm安装和gulp部分放入我们的构建管道中。但是我想整合如何在dev机器上构建包,以及如何在构建代理上构建包以进行部署。在更高的层次上,我不希望构建代理必须知道我们项目的详细信息(例如,它需要运行npm安装,或者需要运行gulpfile等)--我只是想让它打包并上传构建工件。你能补充一下你是如何定义构建后事件的吗?为什么你必须把你的npm安装放在构建后事件中?我们通常只有在从repo获得源代码后才在管道顶部使用它。它更易于使用。@PatrickLu MSFT我这样做的主要原因是,我的Azure DevOps构建管道只需要担心打包和上载构建工件。我们本可以将npm安装和gulp部分放入我们的构建管道中。但是我想整合如何在dev机器上构建包,以及如何在构建代理上构建包以进行部署。在更高的层次上,我不想让构建代理知道我们项目的详细信息(例如,它需要运行npm安装,或者它需要运行gulpfile等等)——我只想让它打包并上传构建工件。感谢您的分享。您可以将您的回复标记为答案,这也将帮助社区中的其他人。感谢您的友好分享。您可以将您的答复标记为答案,这也将帮助社区中的其他人。