Building the project - WilStead/VueCoreFramework GitHub Wiki

The first step is choosing your IDE. This project utilizes .NET Core and other Microsoft technologies which are best supported by Visual Studio 2017 (or newer, if you are living in the future). The Community Edition is free, and can be installed alongside other versions. If you choose to use a different IDE it may be possible to get things working, but you're on your own.

Note that this is not a library to be included in another project. This is a starter project which is meant to be customized and further developed into your own finished website. Therefore, you have two main choices for getting started: download a zip containing the source, or fork and clone the project. Both options can be found on the main project page.

Once you have your own version of the project, there are a few steps you will need to perform before it will be ready to run.

  1. You should enable SSL on each project. After doing so, you will need to set the port number in the Startup.cs of each project to match the one in its launchSettings.json (or vice versa). When launching for the first time, up-to-date versions of Visual Studio 2017 will detect your use of SSL and offer to add a trusted certificate, which you should accept. After this has been completed, you should export your trusted localhost certificate and save it in the API and Auth project folders. IdentityServer has been configured to use it. In order to building and run for the first time without errors, place a dummy certificate with the same name in the project folders. If you don't plan on using SSL for your site you can remove the code that requires it, instead of completing this step (not recommended).
  2. You will need to add some secrets to the API, Auth, and SPA projects. When you deploy to production, these are expected to be replaced by environment variables, but during development the projects expect to find certain things there. Samples are available in each project which show the expected structure, called secrets_example.json. Note that when a secret with the same name is duplicated between projects, the values are expected to match.

When you're ready to build for production, you can use dotnet publish -c Release, or Publish from the Visual Studio Build menu, to compile for Release and automatically invoke webpack with the --env.prod flag. Of course, you should replace all the temporary, self-signed certificates with real certificates for production.

This project was initially started from a JavaScriptServices template, and that would be a good starting point to learn more about the special webpack build and/or deploy code in the csproj files, which you may need to customize for your own needs.