当前位置:  开发笔记 > 编程语言 > 正文

在ASP.NET中使用SASS

如何解决《在ASP.NET中使用SASS》经验,为你挑选了6个好方法。

我正在研究如何在ASP.NET环境中使用Ruby HAML包中的SASS(Syntactically Awesome StyleSheets).理想情况下,我希望将SASS文件编译成CSS,使其成为构建过程的无缝部分.

这种整合的最佳方法是什么?或者,是否有其他CSS生成工具更适合.NET环境?



1> Etienne..:

为了在Visual Studio中获得更好的工作体验,您可以安装最新版本的Web Essential,它开始支持Sass(SCSS语法).
或者,您可以安装Sassy Studio或Web Workbench.

然后在ASP.NET项目中编译.sass/.scss文件,有一些不同的工具:通过Web Essential,Web Workbench,SassC,Sass.Net,Compass,SassAndCoffee ......


Web Essential是Visual Studio的一个功能齐全的插件,它真正为所有前端内容提供了更好的体验.最新版本开始支持Sass(SCSS语法).在内部,它使用Libsass将SCSS编译为CSS.


Web Workbench是Visual Studio的另一个插件,它添加了语法高亮,intellisence和一些其他有用的东西来编辑SCSS文件.它还可以将您的代码编译为普通或缩小的CSS.在内部,它使用了Ruby Sass编译器的包装版本.


Sassy Studio:Visual Studio的另一个插件.功能较少,但更轻.


Libsass库是C++的萨斯CSS预编译器(开发中仍然)的端口.原始版本是用Ruby编写的,但这个版本是为了提高效率和可移植性.该库力求轻松,简单,易于构建,并与各种平台和语言集成.

Libsass库周围有几个包装器:

SassC:命令行编译器(在Windows上,您需要使用MsysGit编译SassC的源代码以获取sassc.exe).

NSass:一个.Net包装器.

Node-Sass:在Node.js上使用Libsass.

等等


Compass是Sass的一个框架,它添加了许多有用的帮助程序(比如图像spriting),也可以编译你的SCSS/Sass.但是您需要在需要编译样式的每个开发环境中安装Ruby.


SassAndCoffee是一个通过一些DLL和配置添加SCSS/Sass编译和缩小支持的软件包.它优于Web Workbench编译器,它是Visual Studio解决方案中的自包含:您不需要在每个开发环境中安装插件.备注:SassAndCoffee不经常更新,因为它使用IronRuby来包装官方Ruby编译器,所以可能会遇到一些性能问题.您可以通过 Nuget包安装最新版本.



2> chriseppstei..:

指南针项目有一个编译器,可以将你的sass编译为css.它是为在Windows上运行而构建的,但在该平台上没有经过良好测试.如果您发现任何与平台相关的错误,我很乐意帮您修复它们.

指南针可以在这里找到:http://github.com/chriseppsein/compass



3> Phil Rickett..:

在2015年,我目前的建议是使用Node.js(服务器端Javascript平台)和gulp.js(任务运行程序节点包),以及gulp-sass(用于实现libsass的gulp的节点包- Ruby SASS的快速C端口).

您可以开始使用这样的教程.

喜欢捆绑?Bundle Transformer现在最终使用libsass,实现高速编译.

这就是为什么我认为你应该使用Node和Gulp.

节点现在很受欢迎前端工具
许多Web开发人员现在正在使用Node作为前端Web开发任务的平台.无论是Grunt,Gulp,JSPM,Webpack还是别的什么 - 它现在都在npm发生.
你可以用npm包做的事情:

使用Sass,Less,PostCSS等编译样式

连接Javascript,CSS,HTML模板等

编写其他版本的JS并将ES6-7,Typescript,Coffeescript转换为ES5

从本地SVG文件创建图标字体

缩小js,css,SVG

优化图像

拯救鲸鱼

...

新开发的项目更简单的设置
一旦你建立你的项目package.jsongulpfile.js所有它通常需要得到运行的是以下几个步骤:

下载并安装Node.js.

运行npm install -g gulp (全局安装gulp)

运行npm install (在本地安装项目包)

运行gulp taskname (根据您设置gulpfile.js任务名称的方式将运行编译SASS,Javascript等的任务)

Visual Studio 2015支持
信不信你,VS2015现在可以为您处理所有命令行内容!

在工作流程方面,您有几个典型的选择:

让开发人员将编译后的代码提交到存储库.
缺点:开发人员必须始终运行gulp或类似编译生产就绪资产

您的构建|阶段|生产服务器在发布之前运行gulp任务
这种方式设置起来可能更复杂,但意味着工作已经过验证,并且是从未编译的源构建的.

以下是我2012年的旧答案,为后人保留:

来自使用Ruby,Python和C#.NET的项目领先的前端开发人员,我有以下想法:

Sass&LESS

我更喜欢在新项目中使用[Sass] [1],特别是使用精彩的[Compass框架] [2].Compass是一项伟大的工作,为我的流程增添了很多价值.Sass有一个很棒的社区,OK文档和强大的功能集.Sass是一个Ruby库.

Sass的另一种选择是[LESS] [3].它具有类似的语法和功能,但是更小的社区和更好的文档.少了一个JS库.

从趋势的角度来看,随着时间的推移,人们倾向于向Sass发展,因为它很发达,甚至支持CSS Level 4功能.但LESS仍然完全可用,并且很容易增加足够的价值以保证使用它.

在ASP.NET项目中使用Sass/LESS

虽然我更喜欢使用Sass,但让Ruby/Sass与.NET项目一起工作可能会很痛苦,因为它很难设置,异常,并且会让开发人员感到沮丧.

你有几个选择:

Sass:原生Ruby + Sass

专业版:最快的服务器编译

Pro:能够使用最新版本的Sass

骗局:起床和跑步非常麻烦

Con:每台服务器或工作站都需要设置ruby

Con: Harder for .NET开发人员解决Ruby /集成问题

Sass:Ruby .NET端口,如[IronRuby] [5] + Sass

Pro: SLOW服务器编译(Frontend Devs会抱怨!)

Pro:可能无法使用最新版本的Sass

Pro:比Native Ruby更容易设置

Con:每台服务器或工作站都需要设置ruby

Con: Harder for .NET开发人员解决Ruby /集成问题

Sass:用[BundleTransformer] [7] + Sass扩展[.NET Bundling] [8]

Pro :(使用IronRuby)SLOW服务器编译(Frontend Devs会抱怨!)

Pro :(使用IronRuby)可能无法使用最新版本的Sass

Pro :(使用IronRuby)比Native Ruby更容易设置

Con:每台服务器或工作站都需要设置ruby

Con: Harder for .NET开发人员解决Ruby /集成问题

Sass或LESS:Visual Studio插件,如[Mindscape Workbench] [4]

专业:易于上手

亲:快速编译

Con:每个使用Sass样式的开发人员都需要一个IDE插件

Con:无法快速更改服务器上的样式 - 需要本地重新处理

少:像[DotLessCSS] [6]这样的.NET端口

Pro:快速服务器编译

Pro:非常容易设置

Pro:对C#.NET开发者来说很舒服

Pro:无IDE /工作站/服务器要求 - 将其包含在Web应用程序本身中

Con:没有SASS/Compass的多功能性,并不能始终保证最新的LESS.JS语法兼容性

Sass:使用[Vagrant]虚拟化linux + Ruby [9]

亲:设置不像你想象的那么可怕

亲:快!!

Pro:最新的前端工具(Sass,Compass等),用linux包管理器更新

Con:对于非Linux用户来说,初始设置可能很困难

Con:环境要求现在涉及托管VM

Con: VM可能存在可伸缩性/维护问题

在我看来,由于上述原因,使用[DotLessCSS] [6]的LESS是典型Web开发项目的最佳选择.

几年前,我发现[DotLessCSS] [6]有令人讨厌的错误和限制,但是在2012年的一些项目中再次使用[DotLessCSS] [6],我对设置非常满意.我没有通过使用Sass/Ruby向我的开发人员介绍痛苦,并从LESS获得大部分价值.最重要的是,没有IDE或工作站要求.

[1]:http://sass-lang.com/ [2]:http : //compass-style.org/ [3]:http://lesscss.org/ [4]: http:// www. mindscapehq.com/products/web-workbench [5]:http: //www.ironruby.net/ [6]:http://www.dotlesscss.org/ [7]:http: //bundletransformer.codeplex.com / [8]:http: //weblogs.asp.net/scottgu/archive/2011/11/27/new-bundling-and-minification-support-asp-net-4-5-series.aspx [9]:http://www.vagrantup.com/



4> Girish..:

我刚刚编写了一个Visual Studio加载项,其中包含详细说明,包括如何让Sass用于Visual Studio的截图.在这里查看 - http://giri.sh/2011/01/21/sass-for-visual-studio-2010/



5> Owen..:

它不是SASS,但你可以看看我们的Less Css for .NET端口.Compass看起来真的很有趣,我觉得Less之类的东西会是一个很好的补充.



6> Dan Doyon..:

我昨天刚刚发现这个,它看起来很有希望,除了sass/scss之外它还将处理JS(不是CSS)的自动化和文件组合.有一件事我希望有人在那里创建一个VS插件来编辑sass/scss文件.我发现有问题的是,当你的sass/scss代码出错时,你只会发现它正在测试或检查生成的CSS文件.我没有全力以赴,但到目前为止还不错.

https://github.com/xpaulbettsx/SassAndCoffee

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有