ASP.NET Core와 Vue.js를 함께 제공하여 게시하는 방법
8149 단어 Vue.jsASP.NET_Core
절차
vue create someproject
와 같이 Vue 프로젝트 만들기 <Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<SpaRoot>someproject\</SpaRoot> <!-- ここは SPA のプロジェクト名 -->
<DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="3.1.4" />
</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="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" />
<!-- Include the newly-built files in the publish output -->
<ItemGroup>
<DistFiles Include="$(SpaRoot)dist\**" />
<ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
<RelativePath>%(DistFiles.Identity)</RelativePath>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</ResolvedFileToPublish>
</ItemGroup>
</Target>
</Project>
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddSpaStaticFiles(options => options.RootPath = "someproject/dist"); // SPA のプロジェクト名/dist
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
app.UseSpaStaticFiles();
app.UseSpa(spa =>
{
spa.Options.SourcePath = "someproject"; // SPA のプロジェクト名
if (env.IsDevelopment())
{
// npm run serve で走らせる開発サーバーの URL
spa.UseProxyToSpaDevelopmentServer("http://localhost:8080");
}
});
}
동작 확인
Vue 프로젝트 폴더에서
npm run serve
를 사용하여 로컬 개발 서버를 시작합니다. 그리고 ASP.NET Core 프로젝트를 디버그 실행하면Vue 화면이 표시됩니다. 8080 포트가 아닌 점에 주목
dotnet publis -c Release
또는 Visual Studio 마법사에서 게시한 폴더에 있는 exe를 시작하면 5001 포트에서 대기하는 서버가 시작됩니다.브라우저로 접속해 보면 제대로 표시되었습니다.
Reference
이 문제에 관하여(ASP.NET Core와 Vue.js를 함께 제공하여 게시하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/okazuki/items/f0a5bd9b34422bb542f7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)