Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Visual Studio项目中运行npm安装&x27;s生成后事件_Npm_Tfs_Azure Devops_Visual Studio 2019_Post Build Event - Fatal编程技术网

在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等等)——我只想让它打包并上传构建工件。感谢您的分享。您可以将您的回复标记为答案,这也将帮助社区中的其他人。感谢您的友好分享。您可以将您的答复标记为答案,这也将帮助社区中的其他人。