.Net Core Vue Qucik Start

.Net Core Vue Qucik Start This is a ASP.NET Core 3.0 project seamlessly integrationed with Vue.js template.

A complaint from Microsoft officials:

As far as I'm aware, we don't have plans to introduce Vue-specific features. This isn't because we have anything against Vue, but rather just to limit the growth in the number of frameworks that we're maintaining support for. The dev team only has a finite capacity for handling third-party concepts, and last year we made the strategic choice to focus on only Angular and React.

Microsoft won't stop our enthusiasm for vuejs

The Microsoft's dev team only has a finite capacity for handling third-party concepts, but we chinese men don't. Men can never say no.

Let's Set Sail 1. Create a new project with react template

You can use Visual Studio to create a project with React.js:

Or execute dotnet new react command in Command Line Tools:

2. Change Reactjs template to Vuejs template

Remove ClientApp folder:

Create new vue template project in root folder:

Rename all ClientApp folder to our vue project name:

Startup.cs

public void ConfigureServices(IServiceCollection services) { ... services.AddSpaStaticFiles(configuration => { // configuration.RootPath = "ClientApp/build"; configuration.RootPath = "admin/build"; }); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { ... app.UseSpa(spa => { // spa.Options.SourcePath = "ClientApp"; spa.Options.SourcePath = "admin"; ... }); }

NetCoreVue.csproj

<PropertyGroup> <TargetFramework>netcoreapp3.0</TargetFramework> <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked> <TypeScriptToolsVersion>Latest</TypeScriptToolsVersion> <IsPackable>false</IsPackable> <!-- <SpaRoot>ClientApp\</SpaRoot> --> <SpaRoot>admin\</SpaRoot> <DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes> </PropertyGroup>

Add VueCliMiddleware package from nuget:

Run dotnet add package VueCliMiddleware command in the Package Manager Console.

step3.3.jpg

Change ReactDevelopmentServer to VueCli:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { ... app.UseSpa(spa => { spa.Options.SourcePath = "admin"; if (env.IsDevelopment()) { // spa.UseReactDevelopmentServer(npmScript: "start"); spa.UseVueCli(); } }); }

Change React build floder 'build' to Vue build folder 'dist':

Startup.cs

public void ConfigureServices(IServiceCollection services) { ... services.AddSpaStaticFiles(configuration => { // configuration.RootPath = "admin/build"; configuration.RootPath = "admin/dist"; }); }

NetCoreVue.csproj

<ItemGroup> <!-- <DistFiles Include="$(SpaRoot)build\**" /> --> <DistFiles Include="$(SpaRoot)dist\**" /> <ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)"> <RelativePath>%(DistFiles.Identity)</RelativePath> <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> <ExcludeFromSingleFile>true</ExcludeFromSingleFile> </ResolvedFileToPublish> </ItemGroup>

Run to test

Run dotnet run in Command Line Tools to run the app.

step3.4.jpg

3. Case will be in the end

Install axios plugin:

Run vue add axios command in Command Line Tools to install axios.

Run vue add router command in Command Line Tools to install vue-router.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsppxf.html