ASP.NET Core Vue Starter
The repository contains an ASP.NET Core + Vue.js starter template. The template runs on ASP.NET Core 3.1 and is created by Vue CLI 4.0 with a new plugin based architecture allowing developers to interactively scaffold a new project with just a one command.
Original article how to create the starter template is available here.
For ASP.NET Core 2.2 template use release v1.1.0
Table of Contents
- Hot module replacement
- ES2017 transpilation
- Long term caching and so on
Used Technology Stack
ASP.NET Core 3.1:
Vue.js with CLI 4.0 supporting optional integrations:
- Progressive Web App
- Vue Router & Vuex (State Store)
- Linting, unit testing, E2E testing
- 3rd party component frameworks (Vuetify, Vue Bootstrap etc.)
- publish your personal/enterprise plugin and so on...
For a full feature list, I suggest you to read the official CLI release statement by Evan You.
- .NET Core >= 3.1
- NodeJS >= 8.9
- Vue CLI >= 4.0
- Your favourite editor (I prefer VS Code), or VS 2017/19
There are two ways how to set up the project: one for people who want to create their own template and choose custom integrations and the other for developers who want to start with no configuration.
Clone the starter with default configuration
- Clone this repository
git clone https://github.com/SoftwareAteliers/asp-net-core-vue-starter
or you can use .NET Core CLI templates:
Install the template from NuGet repository:
dotnet new -i SoftwareAteliers.AspNetCoreVueStarter
Initialize the project:
dotnet new vue -o MyProject
(Optional) Scaffold Vue.js app with custom configuration
If you prefer to overwrite default Vue client app with custom settings, take the following steps:
- Remove all the contents of the folder /ClientApp
- Create a new Vue project by using Vue CLI:
vue create client-appOR by using CLI graphical interface running
Unfortunately Vue CLI does not allow us to set a project name by C# standards using Upper Camel Case (Pascal Case) naming convention, so let's initiate app inside of client-app folder and then move the content to ClientApp.
- Move all the contents from the new folder /client-app to /ClientApp.
Now application is ready to run.
Run the application
You have three choices when it comes to how you prefer to run the app. You can either use the command line or the build-in run command.
1. Using the command line
- Run the .NET application using
2. Using the built-in run command
- Run the application in VSCode or Visual Studio 2017 by hitting
It will take some time during the first run to download all client side dependencies.
Browse to http://localhost:5000 for ASP.NET Core + Vue app or browse to http://localhost:8080 for Vue app only.
Publish the application
1. Folder output
- Run the .NET publish command using Release configuration:
dotnet publish -c Release
- Follow the Publish wizard in Visual Studio selecting Folder profile.
2. Docker output
- Run the following command in a cmd window to build the docker image:
docker build -t <IMAGE_NAME> .
ATTENTION! Do not miss the final dot to build the current directory
- Run the application in a cmd window by this command:
docker run -d -p 5000:80 <IMAGE_NAME>
View your application running
Recommended plugin for debugging Vue
- Get Chrome DevTools for Vue.js here
Issues and Contribution
Want to file a bug, contribute some code, or improve documentation? Excellent! Please make sure to check existing issues before opening a new one.
Special thanks to everyone who helped and contributed to this project!
Copyright © 2018 - 2020 Software Ateliers
Where to find me
Medium: Software Ateliers | Twitter: @SAteliers