LigerShark.WebOptimizer.Sass
3.0.123
Prefix Reserved
dotnet add package LigerShark.WebOptimizer.Sass --version 3.0.123
NuGet\Install-Package LigerShark.WebOptimizer.Sass -Version 3.0.123
<PackageReference Include="LigerShark.WebOptimizer.Sass" Version="3.0.123" />
paket add LigerShark.WebOptimizer.Sass --version 3.0.123
#r "nuget: LigerShark.WebOptimizer.Sass, 3.0.123"
// Install LigerShark.WebOptimizer.Sass as a Cake Addin #addin nuget:?package=LigerShark.WebOptimizer.Sass&version=3.0.123 // Install LigerShark.WebOptimizer.Sass as a Cake Tool #tool nuget:?package=LigerShark.WebOptimizer.Sass&version=3.0.123
A Scss compiler for ASP.NET Core
This package compiles Sass/Scss into CSS by hooking into the LigerShark.WebOptimizer pipeline.
Install
Add the NuGet package LigerShark.WebOptimizer.Sass to any ASP.NET Core project supporting .NET Standard 2.0 or higher.
> dotnet add package LigerShark.WebOptimizer.Sass
Since the original library is written in JavaScript, you will need a JS engine to run it. As a JS engine is used the JavaScript Engine Switcher library. First of all, you need to install the JavaScriptEngineSwitcher.Extensions.MsDependencyInjection package which makes registration of JS engines more convenient. Then you need to install one of the NuGet packages containing a JS engine provider:
- JavaScriptEngineSwitcher.ChakraCore
- JavaScriptEngineSwitcher.Jint
- JavaScriptEngineSwitcher.Msie (only in the Chakra “Edge” JsRT mode)
- JavaScriptEngineSwitcher.V8
After installing the packages, you will need to register the default JS engine.
Versions
Master is being updated for ASP.NET Core 3.0
For ASP.NET Core 2.x
, use the 2.0 branch.
Usage
Here's an example of how to compile a.scss
and b.scss
from inside the wwwroot folder and bundle them into a single .css file called /all.css
:
In Startup.cs, modify the ConfigureServices method:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
// Add JavaScriptEngineSwitcher services to the services container.
services.AddJsEngineSwitcher(options =>
{
options.AllowCurrentProperty = false;
options.DefaultEngineName = V8JsEngine.EngineName;
})
.AddV8()
;
services.AddWebOptimizer(pipeline =>
{
pipeline.AddScssBundle("/all.css", "a.scss", "b.scss");
});
}
...and add app.UseWebOptimizer()
to the Configure
method anywhere before app.UseStaticFiles
, like so:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseWebOptimizer();
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
Now the path http://domain/all.css
will return a compiled, bundled and minified CSS document based on the two source files.
You can also reference any .scss files directly in the browser (http://domain/a.scss
) and a compiled and minified CSS document will be served. To set that up, do this:
services.AddWebOptimizer(pipeline =>
{
pipeline.CompileScssFiles();
});
Or if you just want to limit what .scss files will be compiled, do this:
services.AddWebOptimizer(pipeline =>
{
pipeline.CompileScssFiles("/path/file1.scss", "/path/file2.scss");
});
Setup TagHelpers
In _ViewImports.cshtml
register the TagHelpers by adding @addTagHelper *, WebOptimizer.Core
to the file. It may look something like this:
@addTagHelper *, WebOptimizer.Core
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- DartSassHost (>= 1.0.13)
- JavaScriptEngineSwitcher.Core (>= 3.24.1)
- LigerShark.WebOptimizer.Core (>= 3.0.426)
-
net8.0
- DartSassHost (>= 1.0.13)
- JavaScriptEngineSwitcher.Core (>= 3.24.1)
- LigerShark.WebOptimizer.Core (>= 3.0.426)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on LigerShark.WebOptimizer.Sass:
Repository | Stars |
---|---|
madskristensen/PhotoGallery
ASP.NET Core Photo Gallery
|
Version | Downloads | Last updated |
---|---|---|
3.0.123 | 17,465 | 8/8/2024 |
3.0.120 | 2,922 | 7/29/2024 |
3.0.118 | 29,478 | 4/3/2024 |
3.0.115 | 36,253 | 2/6/2024 |
3.0.102 | 20,109 | 10/16/2023 |
3.0.99 | 165,401 | 6/19/2023 |
3.0.97 | 8,881 | 5/22/2023 |
3.0.91 | 169,996 | 7/20/2022 |
3.0.84 | 43,527 | 3/21/2022 |
3.0.82-beta | 21,722 | 1/21/2022 |
3.0.81-beta | 294 | 1/20/2022 |
3.0.77-beta | 5,069 | 1/13/2022 |
3.0.75-beta | 4,904 | 1/12/2022 |
3.0.73-beta | 909 | 1/3/2022 |
3.0.58-beta | 57,268 | 5/4/2021 |
3.0.43-beta | 39,530 | 7/14/2020 |
3.0.42-beta | 10,058 | 5/28/2020 |
3.0.40-beta | 77,467 | 9/25/2019 |
1.0.34-beta | 32,813 | 2/8/2018 |
1.0.33-beta | 26,708 | 10/16/2017 |
1.0.32-beta | 919 | 8/24/2017 |
1.0.30-beta | 774 | 8/23/2017 |
1.0.29-beta | 742 | 8/23/2017 |
1.0.28-beta | 775 | 8/22/2017 |
1.0.25-beta | 758 | 8/21/2017 |
1.0.23-beta | 790 | 8/21/2017 |
1.0.22-beta | 804 | 8/15/2017 |
1.0.19-beta | 800 | 8/11/2017 |
1.0.18-beta | 814 | 8/11/2017 |
1.0.16-beta | 795 | 8/10/2017 |
1.0.15-beta | 804 | 8/10/2017 |
1.0.12-beta | 777 | 8/7/2017 |
1.0.10-beta | 803 | 8/4/2017 |