2017-12-04 23:33:06 +08:00
<Project Sdk= "Microsoft.NET.Sdk.Web" >
<PropertyGroup >
<TargetFramework > netcoreapp2.0</TargetFramework>
<TypeScriptCompileBlocked > true</TypeScriptCompileBlocked>
<TypeScriptToolsVersion > Latest</TypeScriptToolsVersion>
<IsPackable > false</IsPackable>
<SpaRoot > ClientApp\</SpaRoot>
<DefaultItemExcludes > $(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
<!-- <snippet_EnableBuildServerSideRenderer> -->
<!-- Set this to true if you enable server - side prerendering -->
<BuildServerSideRenderer > true</BuildServerSideRenderer>
<!-- </snippet_EnableBuildServerSideRenderer> -->
</PropertyGroup>
<ItemGroup >
<PackageReference Include= "Microsoft.AspNetCore.All" Version= "2.0.0" />
2018-02-22 00:20:31 +08:00
<PackageReference Include= "Microsoft.AspNetCore.SpaServices.Extensions" Version= "2.0.0" />
2017-12-04 23:33:06 +08:00
</ItemGroup>
<ItemGroup >
<DotNetCliToolReference Include= "Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version= "2.0.1" />
</ItemGroup>
<ItemGroup >
<!-- Don't publish the SPA source files, but do show them in the project files list -->
<Content Remove= "$(SpaRoot)**" />
<None Include= "$(SpaRoot)**" Exclude= "$(SpaRoot)node_modules\**" />
</ItemGroup>
<!-- / - :cnd:noEmit -->
<Target Name= "DebugEnsureNodeEnv" BeforeTargets= "Build" Condition= " '$(Configuration)' == 'Debug' And !Exists('$(SpaRoot)node_modules') " >
<!-- Ensure Node.js is installed -->
<Exec Command= "node --version" ContinueOnError= "true" >
<Output TaskParameter= "ExitCode" PropertyName= "ErrorCode" />
</Exec>
<Error Condition= "'$(ErrorCode)' != '0'" Text= "Node.js is required to build and run this project. To continue, please install Node.js from https://nodejs.org/, and then restart your command prompt or IDE." />
<Message Importance= "high" Text= "Restoring dependencies using 'npm'. This may take several minutes..." />
<Exec WorkingDirectory= "$(SpaRoot)" Command= "npm install" />
</Target>
<!-- /+:cnd:noEmit -->
<Target Name= "PublishRunWebpack" AfterTargets= "ComputeFilesToPublish" >
<!-- As part of publishing, ensure the JS resources are freshly built in production mode -->
<Exec WorkingDirectory= "$(SpaRoot)" Command= "npm install" />
<Exec WorkingDirectory= "$(SpaRoot)" Command= "npm run build -- --prod" />
<Exec WorkingDirectory= "$(SpaRoot)" Command= "npm run build:ssr -- --prod" Condition= " '$(BuildServerSideRenderer)' == 'true' " />
<!-- Include the newly - built files in the publish output -->
<ItemGroup >
<DistFiles Include= "$(SpaRoot)dist\**; $(SpaRoot)dist-server\**" />
<DistFiles Include= "$(SpaRoot)node_modules\**" Condition= "'$(BuildServerSideRenderer)' == 'true'" />
<ResolvedFileToPublish Include= "@(DistFiles->'%(FullPath)')" Exclude= "@(ResolvedFileToPublish)" >
<RelativePath > %(DistFiles.Identity)</RelativePath>
<CopyToPublishDirectory > PreserveNewest</CopyToPublishDirectory>
</ResolvedFileToPublish>
</ItemGroup>
</Target>
</Project>