public static void UseAngularCliServer(this ISpaBuilder spaBuilder) { if (spaBuilder == null) { throw new ArgumentNullException(nameof(spaBuilder)); } if (string.IsNullOrEmpty(spaBuilder.Options.SourcePath)) { throw new InvalidOperationException("To use UseAngularCliServer, you must supply a non-empty value for the SourcePath property of SpaOptions when calling UseSpa."); } AngularCliMiddleware.Attach(spaBuilder); }
/// <summary> /// Handles requests by passing them through to an instance of the Angular CLI server. /// This means you can always serve up-to-date CLI-built resources without having /// to run the Angular CLI server manually. /// /// This feature should only be used in development. For production deployments, be /// sure not to enable the Angular CLI server. /// </summary> /// <param name="app">The <see cref="IApplicationBuilder"/>.</param> /// <param name="npmScript">The name of the script in your package.json file that launches the Angular CLI process.</param> public static void UseAngularCliServer( this IApplicationBuilder app, string npmScript) { var spaOptions = DefaultSpaOptions.FindInPipeline(app); if (spaOptions == null) { throw new InvalidOperationException($"{nameof(UseAngularCliServer)} should be called inside the 'configure' callback of a call to {nameof(SpaApplicationBuilderExtensions.UseSpa)}."); } if (string.IsNullOrEmpty(spaOptions.SourcePath)) { throw new InvalidOperationException($"To use {nameof(UseAngularCliServer)}, you must supply a non-empty value for the {nameof(ISpaOptions.SourcePath)} property of {nameof(ISpaOptions)} when calling {nameof(SpaApplicationBuilderExtensions.UseSpa)}."); } AngularCliMiddleware.Attach(app, spaOptions.SourcePath, npmScript); }
/// <summary> /// Handles requests by passing them through to an instance of the Angular CLI server. /// This means you can always serve up-to-date CLI-built resources without having /// to run the Angular CLI server manually. /// /// This feature should only be used in development. For production deployments, be /// sure not to enable the Angular CLI server. /// </summary> /// <param name="spaBuilder">The <see cref="ISpaBuilder"/>.</param> /// <param name="npmScript">The name of the script in your package.json file that launches the Angular CLI process.</param> public static void UseAngularCliServer( this ISpaBuilder spaBuilder, string npmScript) { if (spaBuilder == null) { throw new ArgumentNullException(nameof(spaBuilder)); } var spaOptions = spaBuilder.Options; if (string.IsNullOrEmpty(spaOptions.SourcePath)) { throw new InvalidOperationException($"To use {nameof(UseAngularCliServer)}, you must supply a non-empty value for the {nameof(SpaOptions.SourcePath)} property of {nameof(SpaOptions)} when calling {nameof(SpaApplicationBuilderExtensions.UseSpa)}."); } AngularCliMiddleware.Attach(spaBuilder, npmScript); }