mirror of
https://github.com/aspnet/JavaScriptServices.git
synced 2025-12-24 02:30:13 +00:00
Add new Microsoft.AspNetCore.SpaServices.Extensions package to host new runtime functionality needed for updated templates until 2.1 ships
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
using System;
|
||||
|
||||
namespace Microsoft.AspNetCore.SpaServices
|
||||
{
|
||||
/// <summary>
|
||||
/// Describes options for hosting a Single Page Application (SPA).
|
||||
/// </summary>
|
||||
public class SpaOptions
|
||||
{
|
||||
private PathString _defaultPage = "/index.html";
|
||||
|
||||
/// <summary>
|
||||
/// Constructs a new instance of <see cref="SpaOptions"/>.
|
||||
/// </summary>
|
||||
public SpaOptions()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Constructs a new instance of <see cref="SpaOptions"/>.
|
||||
/// </summary>
|
||||
/// <param name="copyFromOptions">An instance of <see cref="SpaOptions"/> from which values should be copied.</param>
|
||||
internal SpaOptions(SpaOptions copyFromOptions)
|
||||
{
|
||||
_defaultPage = copyFromOptions.DefaultPage;
|
||||
DefaultPageFileProvider = copyFromOptions.DefaultPageFileProvider;
|
||||
SourcePath = copyFromOptions.SourcePath;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the URL of the default page that hosts your SPA user interface.
|
||||
/// The default value is <c>"/index.html"</c>.
|
||||
/// </summary>
|
||||
public PathString DefaultPage
|
||||
{
|
||||
get => _defaultPage;
|
||||
set
|
||||
{
|
||||
if (string.IsNullOrEmpty(value.Value))
|
||||
{
|
||||
throw new ArgumentNullException($"The value for {nameof(DefaultPage)} cannot be null or empty.");
|
||||
}
|
||||
|
||||
_defaultPage = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the <see cref="IFileProvider"/> that supplies content
|
||||
/// for serving the SPA's default page.
|
||||
///
|
||||
/// If not set, a default file provider will read files from the
|
||||
/// <see cref="IHostingEnvironment.WebRootPath"/>, which by default is
|
||||
/// the <c>wwwroot</c> directory.
|
||||
/// </summary>
|
||||
public IFileProvider DefaultPageFileProvider { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the path, relative to the application working directory,
|
||||
/// of the directory that contains the SPA source files during
|
||||
/// development. The directory may not exist in published applications.
|
||||
/// </summary>
|
||||
public string SourcePath { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user