Created
May 15, 2022 23:14
-
-
Save jesulink2514/0efa08cf9afa6194992e3e399f3e14b8 to your computer and use it in GitHub Desktop.
net60-react.csproj with Next.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<Project Sdk="Microsoft.NET.Sdk.Web"> | |
<PropertyGroup> | |
<TargetFramework>net6.0</TargetFramework> | |
<Nullable>enable</Nullable> | |
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked> | |
<TypeScriptToolsVersion>Latest</TypeScriptToolsVersion> | |
<IsPackable>false</IsPackable> | |
<SpaRoot>ClientApp\</SpaRoot> | |
<DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes> | |
<SpaProxyServerUrl>http://localhost:3000</SpaProxyServerUrl> | |
<SpaProxyLaunchCommand>yarn dev</SpaProxyLaunchCommand> | |
<RootNamespace>net60_react</RootNamespace> | |
<ImplicitUsings>enable</ImplicitUsings> | |
</PropertyGroup> | |
<ItemGroup> | |
<PackageReference Include="Microsoft.AspNetCore.SpaProxy" Version="6.0.5" /> | |
</ItemGroup> | |
<ItemGroup> | |
<!-- Don't publish the SPA source files, but do show them in the project files list --> | |
<Content Remove="$(SpaRoot)**" /> | |
<None Remove="$(SpaRoot)**" /> | |
<None Include="$(SpaRoot)**" Exclude="$(SpaRoot)node_modules\**" /> | |
</ItemGroup> | |
<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="yarn install" /> | |
</Target> | |
<Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish"> | |
<!-- As part of publishing, ensure the JS resources are freshly built in production mode --> | |
<Exec WorkingDirectory="$(SpaRoot)" Command="yarn install" /> | |
<Exec WorkingDirectory="$(SpaRoot)" Command="yarn run build" /> | |
<!-- Include the newly-built files in the publish output --> | |
<ItemGroup> | |
<DistFiles Include="$(SpaRoot)out\**" /> | |
<ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)"> | |
<RelativePath>wwwroot\%(RecursiveDir)%(FileName)%(Extension)</RelativePath> | |
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> | |
<ExcludeFromSingleFile>true</ExcludeFromSingleFile> | |
</ResolvedFileToPublish> | |
</ItemGroup> | |
</Target> | |
</Project> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment