ASP.. NET sass/scss在运行时和编译时的编译

本文关键字:编译 运行时 NET sass scss ASP | 更新日期: 2023-09-27 18:14:15

我正在寻找在运行时和编译时编译我的。scss文件的解决方案。

我需要两者的原因是我们的设计师在mac上工作,并且更喜欢在运行时(特别是在开发阶段)动态编译他们的。scss文件的便性。另一方面,我需要编译时支持来验证SCSS在构建过程中是否成功编译。如果SCSS不能编译,我的目标是构建失败。

我在NuGet上找到了几个可用的库,然而,每个库中的小缺陷都阻碍了我。

是否有一个解决方案可用于这两个场景?

我的研究结果如下:

运行时支持

  • BundleTransformer。SassAndScss通过HttpHandler(工作与波旁,虽然很慢)
  • 录音带。Sass(由于错误无法编译Bourbon)

编译时支持:

  • 录音带。MSBuild(不显示绑定SCSS文件,只有CSS)
  • Mindscape Web Workbench (Pro版本显然包括命令行工具,但是,文档对该功能非常有限)
  • 别人?

ASP.. NET sass/scss在运行时和编译时的编译

Mindscape Web Workbench的Pro版包含一个用于在运行时编译的命令行工具。目前,只有夜间构建能够编译Bourbon和Neat(我的要求之一)。

这是我的预构建事件,目前工作得很好:

"C:'Program Files (x86)'Mindscape'Web Workbench'Command Line'wwcmd.exe"
"$(ProjectDir)scss'style.scss" /o:../css /style:compressed
更新:

我们决定简单地从预构建事件中调用SASS,而不是使用Web Workbench。

call sass -C "$(ProjectDir)assets'scss'main.scss" "$(ProjectDir)assets'css'compiled'main.css" --style compressed

查看SassAndCoffee。这就是Cassette所使用的,它将所有内容嵌入到几个组件中。

Web Workbench实际上将ruby和sass gems安装到文件系统的一个很长的文件夹路径中,隐藏在当前用户目录下,这对于Web应用程序来说可能很麻烦,并且涉及安全性和权限。

你可以使用这个包在构建时编译scss,它包括一个用于调试时和热重新加载的监视器。

AspNetCore。SassCompiler

. net Core 3.1/5.x/6的Sass编译器库X不带节点

https://github.com/koenvzeijl/AspNetCore.SassCompiler

# Package Manager
PM> Install-Package AspNetCore.SassCompiler
# .NET CLI
dotnet add package AspNetCore.SassCompiler