2015-09-11 71 views
1

我們正在嘗試將一個AngularJs網站部署到Azure,它是用gulp構建的。所以我們在一個源代碼應用程序中開發,gulp將這些文件複製到dist項目中。 dist項目是Azure雲源Web角色。 「編譯」文件位於項目文件夾內,但由於某些原因,它們未被複制。Azure Web角色部署不會複製非項目文件

我們打開選項屬性 - >封裝/ Publich網絡 - >在這個項目文件夾中的所有文件

部署我只看到packes.config,web.config文件和bin文件夾後。我們需要做些什麼才能部署其餘的文件?

回答

1

是的,gulp生成的文件實際上並不是項目的一部分(包含在xx.csproj文件中),這就是爲什麼「所有文件...」不起作用的原因。我們通過添加一些自定義目標來構建項目文件來實現這一點 - 我們的吞噬文件位於名爲「dist」的文件夾中。

卸載項目>>編輯...然後包括像:

<Target Name="CustomCollectFiles"> 
    <ItemGroup> 
     <_DistFiles Include="dist\**\*" /> 
     <FilesForPackagingFromProject Include="%(_DistFiles.Identity)"> 
     <DestinationRelativePath>dist\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath> 
     </FilesForPackagingFromProject> 
     <_SrcFiles Include="src\**\*" /> 
     <FilesForPackagingFromProject Include="%(_SrcFiles.Identity)"> 
     <DestinationRelativePath>src\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath> 
     </FilesForPackagingFromProject> 
    </ItemGroup> 
    </Target> 
    <PropertyGroup> 
    <TypeScriptModuleKind>AMD</TypeScriptModuleKind> 
    <CopyAllFilesToSingleFolderForPackageDependsOn> 
     CustomCollectFiles; 
     $(CopyAllFilesToSingleFolderForPackageDependsOn); 
    </CopyAllFilesToSingleFolderForPackageDependsOn> 
    <CopyAllFilesToSingleFolderForMsdeployDependsOn> 
     CustomCollectFiles; 
     $(CopyAllFilesToSingleFolderForPackageDependsOn); 
    </CopyAllFilesToSingleFolderForMsdeployDependsOn> 
    </PropertyGroup> 
. 
. 
. 
    <Target Name="AfterBuild" DependsOnTargets="CustomCollectFiles"> 
    <Copy SourceFiles="@(_DistFiles)" DestinationFolder="dist" /> 
    </Target> 
相關問題