Is there a SASS.js? Something like LESS.js?
我以前使用过LESS.js。易于使用,类似于
1 2
| <link rel="stylesheet/less" href="main.less" type="text/css">
<script src="less.js" type="text/javascript"> |
我看到了SASS.js。如何以类似方式使用它?解析SASS文件以立即在HTML中使用。看来SASS.js更适合与Node.js一起使用?
1 2 3 4 5 6
| var sass = require('sass')
sass.render('... string of sass ...')
// => '... string of css ...'
sass.collect('... string of sass ...')
// => { selectors: [...], variables: { ... }, mixins: { ... }} |
- 对于生产来说,这是邪恶的根源,对于开发来说,您有sass watch。
-
我喜欢这个想法,因为" sass watch"的问题是您有时会在" sass watch"运行之前意外地测试页面。使用less.js可以加载页面,并确保在看到页面时已经编译了CSS。当然仅在开发环境中。
-
查看SassMeister:sassmeister.com-免费的在线SASS编译器
-
确实有sass.js
-
@Hauleth sass手表(就像少看一样)有时不是一个选择。特别是当您的源文件是由第三方构建/依赖项处理的,并且只有在打包或部署Web应用程序并缓慢部署Web应用程序时,才可以拥有完整的源文件。 (即... java Web应用程序)
尚无官方批准的sass或scss的JavaScript实现。我看到了一些正在实施的实现,但是目前我不推荐使用这些实现。
但是,请注意以下几点:
当您一次可以对所有用户进行编译时,为什么要让所有用户来编译样式表。
如果禁用JavaScript,您的网站会是什么样子。
如果您决定将来更改为服务器端实现,则必须相应地更改所有模板。
因此,尽管需要更多设置才能开始,但我们(sass核心团队)认为服务器端编译是最好的长期方法。同样,较少的开发人员更喜欢将服务器端编译用于生产样式表。
- 客户端编译很好
-
我的用例:开发将被放入rails项目的html css模板。拥有用于本地主机开发目的的sass.js很好,这样我就不必摆弄服务器的东西。
-
在许多情况下,客户端编译很有用。例如,如果要让用户随心所欲地浏览页面外观,而只将他们选择的结果保存回服务器。
-
我100%同意chriseppstein(为什么要让用户编译样式表),这里没有介绍,简单明了:开发。我希望将所有已部署的js代码压缩和压缩,就像使用CSS一样。但是在开发过程中,可以访问代码而不是"编译"版本。我不确定我是否代表所有前端工程师发言,但是我可以说,我们当中很多人都将浏览器和编辑器用作开发阶段所需的唯一工具。我不想在开发过程中"编译" sass / scss。部署/ CI /生产是另一回事
-
糟糕的是,在已经提到的两个方案中又增加了一个预生产方案:我需要我的UX人员能够自己进行样式更改的原型,然后将改进反馈给开发人员。
-
除了@JosefRichters用例外,Ill还添加了一种不太常见但可能非常有趣的可能性,即可能存在一两个浏览器供应商,它们会发现更容易直接集成到基于浏览器的实时编辑工具中。这种浏览器内支持在今天还不存在,但是我一个人希望看到它(并在此问题上有一定影响),我认为这对于采用SASS实际上是有益的。今天,LESS将在这里占有优势。
-
在作者方面投入一些东西;我想考虑使用SASS,但是我既不使用也不希望使用Ruby。因此,客户端解决方案比没有解决方案更可取。用Ruby编写只能将其仅用于ruby用户。如果它是用JS编写的,则可能已在客户端或服务器上使用(带有节点,经典asp,asp.net以及其他)。
-
JavaScript实现也可以与node / rhino等一起在服务器端使用,而不必依赖ruby
-
我衷心同意以下观点,即客户端编译存在有效的用例。我喜欢Ruby,但是有很多网络人不使用它,或者发现它太复杂和不必要。客户端编译器实际上将使SASS可用于这种类型的Web人员。当然,他们希望链接到已编译的CSS进行生产,但这对开发来说意义非凡。老实说,我认为这是LESS在SASS上的一席之地。
-
恕我直言,使用watch进行的Sass和SCSS开发比LESS.js更好,错误更少,更快,并且可以从终端轻松控制。
-
动态客户端变量。
-
如果需要动态客户端变量,则需要重新考虑样式。考虑到您将使用具有更多特定选择器的客户端样式表这一事实。你不需要。
-
为我们编码CSS的设计人员使用sftp客户端直接在我们的开发服务器上破解文件。这意味着他什么也做不了。这意味着在语法错误的情况下他是盲目的。带有less.js之类的调试模式的客户端编译器将允许我们轻松切换到sass。
-
我看到一个用处:我只会在编写页面时使用客户端编译器,然后将SASS移出页面,并最终编译成我所使用的.css。有时,在测试一个想法时,在元素后写一个快速的<style>更容易。它比在外部查找2000行SASS中的编辑点要快。客户端页面内编译器可以做到这一点,因此我不必第一次用CSS编写它,而当我在10分钟后将其移出时,就可以将其编辑为SASS。
-
对于不吉利的人来说,以与ruby不同的方式实施sass的原因可能是一些不幸的人,他出于某些"肮脏的"原因而无法在其机器中使用ruby:(
-
javascript SASS编译器绝对有用。我来到这里寻找一个,以便可以编写一个Grunt插件。
-
-1是因为SASS.js代码可以利用gulp / grunt和node(或与此相关的一百万个其他开发/构建工具)。 JS不是仅客户端语言。您给出的几点对JS的假设是错误的。
-
如果要让用户在其浏览器上玩sass,请尝试使用browserify进行node-sass。使用风险自负!
-
如果有人用Javascript编写Ruby的实现,那么我们就不必在这样的语言之间移植和维护项目。 @担
-
我绝对认为sass scss需要客户端编译器。 1)浏览器无论如何都不会编译一次以上(至少要少编译一次)。它可能不是主要用途,但我可以肯定地看到自己需要它。 2)这不是noscript标签的作用吗?在100%的情况下,我对这些用户不感兴趣。 3)设置构建服务器以根据需要创建样式表,并将其用于生产。我宁愿不使用任何其他资源就能进行开发。
-
现在这变得越来越重要,因为Bootstrap 4将切换到SASS。因为许多实时主题定制工具都需要诸如demo.virtuosoft.eu/live-less-theme-customizer/doc/index.html github.com/pikock/bootstrap-magic之类的东西,
-
我们将客户端编译用于我们的开发环境,当然,我们切换到实时版本的服务器端编译-当然这要快得多-但我认为实时预览对于开发环境是必不可少的。
-
另一个用例是使用RequireJS的应用程序。在开发过程中没有编译和/或监视。源文件由浏览器按原样加载,如果它们需要编译或其他特殊处理,则由RequireJS插件执行。服务器端编译仅针对生产应用程序版本进行。请参阅require-less或require-css。
-
这更多的是观点而非答案。它没有考虑任何一种用例,即"生产",显然,出于列出的所有原因,不应在其中使用客户端编译。我想为客户端编译器提供的解决方案类似于@montrealmike给出的示例。
由于visionmeda / sass.js不再可用,并且scss-js已有2年没有更新了,所以我可能对sass.js感兴趣。这是使用Emscripten编译为JavaScript的C库libsass(也由node-sass使用)。可以在sass.link.js中找到编译以html链接或内联的scss样式表的实现。
使用交互式游乐场尝试sass.js
-
现在我们只需要一个C到Ruby的编译器,就可以统一代码库。
-
sass.js的大小似乎为670KB(压缩),而less.js的大小为143kb(压缩)。我也看不到sass.js中的任何选项来动态设置css变量,而不是less.js。当您拥有可访问的网站时,这真的很有用
是
正如我们期望的那样,在用C重写后,可以通过Emscripten在Javascript中对其进行编译。
这是浏览器版本:https://github.com/medialize/sass.js/
按照他们的建议,对于节点,您可以使用以下命令:https://github.com/sass/node-sass
-
此答案和(当前接受的)答案的组合应该是实际接受的答案。
-
我想在repl.it上编写SASS,并想出了一种在浏览器中进行编译的解决方案:1.将<link type =" text / scss" href = ... />添加到HTML 2.找到所有链接[ type =" text / scss"]元素,并通过AJAX 3获取其hrefs。使用github.com/medialize/sass.js编译SASS-> CSS4。将链接替换为包含已编译CSS的<style />。结果:minesweeper.duzun.repl.co
我刚刚发现了一个有趣的Sass.js游乐场。这些年来,有些事情可能已经改变。检查一下:
http://medialize.github.io/playground.sass.js/
您绝对不应该让所有用户都编译样式表,但是javascript实现也可以在服务器上运行。我也在寻找javascript sass实现-在node.js应用程序中使用。这是Sass团队正在考虑的事情吗?
-
我不想使用SASS.js进行生产!我希望能够部署开发机器而无需仅为SASS安装ruby。开发完成后,我可以在任何计算机上处??理SASS,并将结果CSS移至生产服务器。
-
我建议您在Node项目上使用Stylus代替sass。
在GitHub上尝试进行scss-js。但是,它不完整,并且在五个月内没有任何提交。
-
这看起来像一个节点js模块?最初的问题是关于回合客户端的实现,不是吗?
为什么选择LibSass
虽然没有官方批准的sass JavaScript实现,但存在Sass引擎的官方C / C端口,称为LibSass。因为LibSass是官方实现,所以最好选择一个在后台使用LibSass的JavaScript库。
在服务器上
对于在Node.js环境中运行的JavaScript,有Node-sass。
在后台,Node-sass使用LibSass本身。
在浏览器中
对于在浏览器中运行的JavaScript,有Sass.js。
在后台,Sass.js使用的LibSass版本(在撰写本文时为v3.3.6)已通过Emscripten转换为JavaScript。