问题标签 [libsass]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gruntjs - Grunt——重命名磁盘上的根目录,现在不编译为 CSS
我刚刚在我的 Win8 机器上安装了 Grunt,运行['sass', 'autoprefixer', 'connect', 'watch']
任务以在浏览器中进行实时刷新和设计,没有任何问题。这些过程正在监视我的文件夹是否有变化,从 SCSS 编译到 CSS,刷新我的浏览器。
然后昨晚我重命名了磁盘上的目录-从c:\ruby-sass-susy
到c:\libsass-susy
。可悲的是,这破坏了我的设置:(
现在,当我运行我的默认设置时grunt
——它会启动服务器——第一次编译文件——并打开一个浏览器,让我的项目准备好按照它应该的方式进行。
但是现在更改和保存.scss
它不会编译任何东西。我在命令行看到的:
但是没有编译发生,它不会创建我的global.css
和关联的地图文件,也没有任何活动。
我试过的:
npm uninstall <package>
对于每个相关的watch
,connect
和grunt-sass
包。npm install <package> --save-dev
在所有三个上,以干净地重新安装所有三个然后(当什么都没做时)我从一个新目录开始——使用我的
package.json
andbower.json
,我从头开始重新安装新目录中的所有依赖项,复制到Gruntfile
,然后再次运行它来测试
我在新目录中得到了相同的结果。发生了什么?现在问题是否在我的 Node 或 npm install 中更进一步?没有指向正确目录的东西?(对不起,我不是 Grunt 或 javascript 编程专家)
这是我的 Gruntfile —— 相关位,我省略了我没有默认运行的包:
~~~
ember.js - 在 Ember 应用程序中调试 libsass 段错误
我在 Ember CLI 0.1.15 下进行了一个工作项目并将其推送到 0.2.2 并开始出现分段错误。通过安装node-segfault-handler,我能够对正在发生的事情有所了解,但不是很擅长阅读这些转储,除了它显然与 SASS 编译相关之外,我并没有从中获得太多收益:
我正在使用在其他项目中工作的ember-cli-sass插件(版本 3.1.0),所以我想知道如何继续调试它。任何帮助将不胜感激。
node.js - 在 nodejs 中使用 node-sass 时找不到 libsass 绑定
我想node-sass
在我的应用程序中使用该模块node.js v0.12
来从libsass
.
我执行npm i node-sass
安装模块,到目前为止没有错误。
现在混乱开始了:
如果我只是REPL
在终端中打开尝试,node-sass
那么一切正常,但如果我将它包含在我的项目文件中并运行,node myfile.js
那么我会收到以下错误消息:
npmjs.com上的模块描述指出,在 Ubuntu 下解决可能存在问题#!/usr/bin/env node
以及如何解决此问题,但在我的机器上并非如此。
我找不到任何有用的东西,所以我希望你能帮助我。
我在 Ubuntu 14.10 下使用节点 v0.12.2。
PS:我已经尝试重新安装 node-sass 但没有成功。没有什么变化。
css - 当我在媒体查询中 @import 一个 SCSS 文件时,为什么 gulp-sass 会删除换行符?
我正在尝试迁移我的网站以使用gulp-sass而不是 Compass 编译 SASS。它看起来很有希望——我喜欢它的速度,而且与 Gulp 的集成很有用。不幸的是,当我在媒体查询中导入文件时,我发现 gulp-sass 对 CSS 输出中的换行符做了奇怪的事情。
我们有几个 SCSS 文件,它们被编译成单独的 CSS 文件以供开发。对于生产,我们将每个 SCSS 文件导入到 global.scss 文件中,该文件被编译成单个 CSS 文件。该文件中的导入如下所示:
当我运行我的 gulp-sass 任务时,它会很好地编译单个文件 media-query-480.css 和 media-query-760.css,但会从 global.css 的相应部分中删除样式规则之间的换行符。例如 media-query-480.scss 中的这个位
在 media-query-480.css 中变成这个,这很好
但这是在 global.css 的相应部分吗
看起来 libsass 在第二遍中删除了换行符。当您有一个包含数千条规则的大型 CSS 文件时,这不是很有用。
(我检查了 SCSS 文件的编码和行尾,它们都是 UTF-8 和 LR。)
除了在 Gulp 中进行连接之外,是否有任何解决方法?
===========================
编辑
当我将媒体查询包装在我的文件 media-query-480.scss 中的规则周围时,也会发生同样的事情:当我这样做时,换行符也会从该文件中消失。正常的 libsass 行为是否会从媒体查询中的代码中删除换行符?
sass - SASS @-ms-keyframes 上的顶级表达式无效
我有一个基本的 scss 文件,其中包含(除其他外):
尝试编译时,我invalid top level expression
在上面的代码中指示的行上得到一个。好的,所以我尝试删除以下代码:
现在它编译得很好。为什么 sass 会对这段代码有问题?我正在使用 node-sass (libsass 3.2)。
sass - 在运行 gulp-sass 时,如何找出我正在使用的 Sass 版本?
我刚开始使用gulp-sass,有没有一种“简单”的方法可以找出正在使用的 Sass 版本?
并不是说我认为这太重要了,但我在 Visual Studio 2015 (CTP6) 中使用 gulp -sass 。
我需要知道,因为我想使用一个 Sass mixin,它需要某个最低版本的 Sass。
目前,如果我想找出正在使用的 Sass 版本,我会尝试像这样跟踪,gulp-sass 是node-sass的包装器,它反过来为libsass提供节点绑定,即Sass 的 C 编译器。
因此,要找出在我的环境中使用的 Sass 版本,我必须遵循链条并尝试找出每个步骤中使用的版本以及下一步使用的版本。
当然必须有更简单的方法吗?
css - Sass:从嵌套映射中获取值和键
我正在尝试从 Sass 中的嵌套映射中获取值和键(特别是使用 libsass)。
我成功地遍历了父映射,但我需要获取每个子映射中每个项目的值和键。
这一切都在Sassmeister上,这可能是最容易看到它的地方:http ://sassmeister.com/gist/04ba839b0edff4b84a93
我的地图:
我的混音:
供参考:也是其中的一部分,但功能正常:
css - 自动前缀:不添加前缀
试图让 autoprefixer 与 Grunt、Livereload 和 node-sass 一起工作。
我似乎没有得到任何前缀。
下面是我的 Gruntfile.js:
我确实看到我的 grunt 命令的输出说明了某个文件得到了前缀,但是当我打开 css/styles.css 时,我看不到前缀。
有任何想法吗?
responsive-design - Sass/Scss - 用小数四舍五入
我有以下 Sass 规则:
输出以下CSS:
相反 - 我需要这个规则如下(小数精度并不重要 - 只有最后一个值是 6 - 而不是 7),这是为了解决子像素渲染问题。
如果我使用 sass 'floor' 功能 - 它会将整个事情四舍五入到 '16%'。有没有办法在 Sass 中四舍五入到 x 位小数?使用 mixin 来做到这一点怎么样?我正在使用 libsass(sass 3.2)。
调整“精度”不起作用 - 最后一个值仍然是“7”。仅更改精度只会截断小数位数 - 它不会像我需要的那样舍入最后一个小数位。
代码笔: http ://codepen.io/calumbrodie/pen/aOzVga
编辑:无论谁将此标记为重复 - 这是一个不同的问题,另一个问题是关于“精度”,而我明确解释了为什么这与“精度”无关。我真的不能说得更清楚了。
gruntjs - 从 grunt compass 切换到 libsass 时出错
我正在努力从 grunt-contrib-compass 转移到 grunt-sass。不过,我看到 libsass 编译器在 main.scss 文件中的某些导入上失败了。
这是 main.scss
这是运行 sass 任务时抛出的错误:
是否有熟悉从 compass 切换到 libsass 的人知道是否有这些进口产品的等价物可以作为替代品加入?