Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.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 ASP核心发布前/发布后操作,为Angular2安装工具,然后生成_Visual Studio_Azure_Angular_Npm_Asp.net Core - Fatal编程技术网

Visual studio ASP核心发布前/发布后操作,为Angular2安装工具,然后生成

Visual studio ASP核心发布前/发布后操作,为Angular2安装工具,然后生成,visual-studio,azure,angular,npm,asp.net-core,Visual Studio,Azure,Angular,Npm,Asp.net Core,我们有一个.NET核心项目,它使用Angular2作为前端客户端。此前端位于我们的解决方案中的前端目录中 此前端包含package.json和angular-cli.json,用于隔离.NET项目其余部分中的所有内容。在ng build上,Angular2编译的文件被发送到。/wwwroot目录 我们的项目结构: 我们希望,当某人签出项目并发布(在Azure上)时,能够调用这些操作: npm安装-g angular cli cd前端和npm安装及生成--prod 如何在project.js

我们有一个.NET核心项目,它使用Angular2作为前端客户端。此前端位于我们的解决方案中的前端目录中

此前端包含package.json和angular-cli.json,用于隔离.NET项目其余部分中的所有内容。在
ng build
上,Angular2编译的文件被发送到
。/wwwroot
目录

我们的项目结构:

我们希望,当某人签出项目并发布(在Azure上)时,能够调用这些操作

  • npm安装-g angular cli
  • cd前端和npm安装及生成--prod
如何在
project.json
.NET核心文件中实现这一点?

例如,我尝试在Azure上部署,以设置:

"prepublish": [ "npm install -g angular-cli" ],
"postpublish": [ "cd Frontend && npm install && ng build --prod", "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
但它破坏了部署。prepublish和postbulish(使用
cd前端
和后续命令)都有效吗


当人们查看git repo并点击build时,如何让VisualStudio做同样的事情?

通常,您可以使用任何tasks runner(gulp、npm tasks等),并在
postpublish
步骤(或其他类似prebuild的步骤)中执行适当的任务

作为替代方案,您甚至可以执行相反方向的步骤,并从npm任务脚本调用dotnet命令(build、deploy等)。例如,您可以查看repo,它是将ASP.NET Core和Angular2与Webpack一起使用的示例。他们使用npm任务作为任何操作(如构建、运行或部署)的入口点:

npm package.json配置加载Angular 2和Webpack所需的所有包。网页包包都添加到devdependency中。还配置了一个“npm build”脚本和一个“npm buildProduction”,这样就可以使用cmd行中的Webpack使用“npm build”或“npm buildProduction”构建客户端应用程序


通常,您可以使用任何任务运行程序(gulp、npm任务等),并在
postpublish
步骤(或其他步骤,如预构建)中执行适当的任务

作为替代方案,您甚至可以执行相反方向的步骤,并从npm任务脚本调用dotnet命令(build、deploy等)。例如,您可以查看repo,它是将ASP.NET Core和Angular2与Webpack一起使用的示例。他们使用npm任务作为任何操作(如构建、运行或部署)的入口点:

npm package.json配置加载Angular 2和Webpack所需的所有包。网页包包都添加到devdependency中。还配置了一个“npm build”脚本和一个“npm buildProduction”,这样就可以使用cmd行中的Webpack使用“npm build”或“npm buildProduction”构建客户端应用程序


你能提供你有什么样的错误吗?你能提供你有什么样的错误吗?