Giter Club home page Giter Club logo

asp-net-core-vue-starter's Introduction

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.

Nuget

For ASP.NET Core 2.2 template use release v1.1.0


Table of Contents

Features

  • Hot module replacement
  • Code-splitting
  • Tree-shaking
  • ES2017 transpilation
  • Long term caching and so on

Used Technology Stack

ASP.NET Core 3.1:

  • Web.API
  • Vue CLI and JavaScript Services middlewares to integrate with client app

Vue.js with CLI 4.0 supporting optional integrations:

  • TypeScript
  • 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.

Prerequisites


Getting started

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-app OR by using CLI graphical interface running vue ui

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 dotnet run

2. Using the built-in run command

  • Run the application in VSCode or Visual Studio 2017 by hitting F5

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.

Application screenshot

Publish the application

1. Folder output

  • Run the .NET publish command using Release configuration: dotnet publish -c Release

or

  • 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.


Contributors

Special thanks to everyone who helped and contributed to this project!


License

MIT License

Copyright © 2018 - 2020 Software Ateliers

Where to find me

Medium: Software Ateliers | Twitter: @SAteliers

asp-net-core-vue-starter's People

Contributors

arisliang avatar dependabot[bot] avatar glebov21 avatar liborpansky avatar mii9000 avatar nickstees avatar tobbentm avatar wallyjue avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.