有没有人在标准 C# ASP.NET 环境中为 CSS/SASS 开发过 Compass?
是否有一个发行版我可以直接下载并准备好用于 Windows,或者我需要安装每个方程式并自己构建指南针?
是否有任何插件可以使 Compass 对 VS2008 的开发更加友好,例如在构建中自动处理 Compass/SASS、语法突出显示和/或智能感知支持?
如果没有任何 VS IDE 插件,那么在 Compass 中处理编码的独立文本编辑器的最佳选择是什么?
有没有人在标准 C# ASP.NET 环境中为 CSS/SASS 开发过 Compass?
是否有一个发行版我可以直接下载并准备好用于 Windows,或者我需要安装每个方程式并自己构建指南针?
是否有任何插件可以使 Compass 对 VS2008 的开发更加友好,例如在构建中自动处理 Compass/SASS、语法突出显示和/或智能感知支持?
如果没有任何 VS IDE 插件,那么在 Compass 中处理编码的独立文本编辑器的最佳选择是什么?
开始使用指南针,
首先是的,我必须安装 Ruby 和指南针源代码并编译我的指南针版本,我按照指南针的 Wiki Getting Started上的说明进行操作。
在安装和构建 Compass 及其所有依赖项之后,我创建了我的第一个项目。
compass -f blueprint project-name
它为蓝图 css 框架创建了一个带有 compass 的默认项目,目前在 compass 中存在一个错误,即在图像目录中为 compass 创建 grid.png 文件,因此您需要从源文件夹中复制原始 grid.png
C:\Ruby\lib\ruby\gems\1.8\gems\chriseppstein-compass-0.8.10
\frameworks\blueprint\templates\project
或类似位置的文件,具体取决于您安装所有内容的位置。IMO 在 asp.net 上使用 compass 的最重要更改之一是更改 compass 的 SASS CACHE 指令。SASS CACHE 在您的项目目录中创建了一堆临时文件夹,如果它们在源代码控制下结束,可能会产生不良结果。所以打开 config.rb 并添加这一行
sass_options = {:cache_location =>
"#{Compass.configuration.project_path}\\tmp\\sass-cache"}
请务必注意转义的反斜杠。
在此之后,我修改了 compass 使用的文件夹的名称,以便我希望它们在 config.rb 中命名,并开始使用 SASS 和 Compass。我建议观看长达一小时的指南针视频介绍,这非常有帮助,我从中学到了很多:观看屏幕投射。
这向我展示的一件事是如何设置指南针以监视文件系统更改并自动将 sass 编译为 css。通过使用
compass -w
这对我来说效果很好,只要确保你的 css 文件被签出,或者如果你的项目不支持并发签出,则在它们处于源代码控制之下时将它们关闭为只读。
对于编辑,我使用默认情况下包含在 Ruby 中的 SciTE 用于 config.rb 文件或只是 VS2008 中的编辑器窗口。对于 Sass,我在HAML 网站上发现了一个大列表。带有突出显示 SASS 语法文件的 jEdit 是我在尝试了几次后最终使用的。我仍然想找到一个用于语法高亮的 VS 插件,所以我不需要使用另一个编辑器,但 jEdit 肯定能完成这项工作。
要完成最后一个答案,您可以安装Web Workbench,这是 Visual Studio 2010 的插件,它为 SASS 语言添加语法高亮、智能和其他一些东西(仅限 SCSS 语法)。
如果您更喜欢使用 Compass 和/或其他一些工具来编译 CSS,您应该禁用内置编译器。我在这里列出了其他一些 SASS 编译器:Using SASS with ASP.NET。
要禁用内置编译器:在解决方案资源管理器中选择 .scss 文件,转到“属性”窗口并从“自定义工具”框中删除文本。
从 Web Workbench 3 开始,您现在可以更轻松地使用此插件管理要编译的内容。请参阅 Mindscape > Web Workbench 设置菜单项。
我的回答有点过时了。在遵循我的原始答案之前,我建议您探索 Nuget 包SassAndCoffee。完整的细节可以在这里找到。
它是如何工作的?
SassAndCoffee 将原始编译器嵌入到 DLL 中(撰写本文时为 Sass 3.2.0 和 CoffeeScript 1.1.0),并分别使用 IronRuby 和 Jurassic 来针对您的源代码执行编译器。
为什么这比 [SOMEOTHERPROJECT] 更好?
No external processes are executed You don’t have to install Ruby or node.js It’s in NuGet so you don’t have to fiddle with web.config Files are cached and are rebuilt as-needed.
我想在这里添加另一种选择。如果您只想确保 compass 构建 sass 文件并在构建 ASP.net 项目时包含 css 文件,您可以将以下内容添加到项目部分下的项目(csproj)文件中:
<Target Name="AfterBuild" Condition="'$(Configuration)' == 'Release' ">
<Exec Command="compass compile --output-style compressed --force" />
<ItemGroup>
<Content Include="Styles\*.css" />
</ItemGroup>
</Target>
<Target Name="AfterCompile" Condition=" '$(Configuration)' == 'Debug' ">
<Exec Command="compass compile" />
<ItemGroup>
<Content Include="Styles\*.css" />
</ItemGroup>
</Target>
第一个 Target 用于 Release,也将压缩 css,另一个用于 Debug。
如果要自定义路径,请将 config.rb 添加到项目根文件夹:
css_dir = "Content"
sass_dir = "Content/Sass"
当然,这一切都需要安装 compass 和 ruby 并位于您机器的路径中。