我们正在尝试将AngularJs网站部署到使用gulp构建的azure。所以我们在源应用程序中开发并gulp将文件复制到dist项目。 dist项目是Azure云源Web角色。 “已编译”的文件位于项目文件夹中,但由于某种原因,它们不会被复制。
我们启用了选项属性 - > Package / Publich Web - > 此项目文件夹中的所有文件
部署后我只看到packes.config,web.config和bin文件夹。我们需要做些什么来部署其余的文件吗?
答案 0 :(得分:1)
是的,gulp生成的文件实际上并不是项目的一部分(包含在xx.csproj文件中),这就是“所有文件......”不起作用的原因。我们通过向项目文件添加一些自定义目标来实现这一目标 - 我们的gulp文件位于名为“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>