我开始与gulp和sass一起开展持续的开发工作。
该工作流程是针对那些在该项目中不可用的人设置的,并且一直在为团队中的人员工作。
Sass在其他人机器上编译,但在我的机器上编译。
我在我的机器上编译sass在几十个其他项目中没有问题,但没有问题。
我认为我确实正确地初始化了项目,但我怀疑存在一些版本或配置问题。
如果我npm install
一切并运行gulp
我收到以下错误:
Error: src/sass/utilities/mixins/_vendor-prefixes.scss
Error: Invalid CSS after "::-webkit-": expected "{", was "&-placeholder"
"&-placeholder" may only be used at the beginning of a compound selector.
on line 116 of src/sass/utilities/mixins/_vendor-prefixes.scss
我尝试评论有问题的行并再次运行gulp
只是为了偶然发现另一个错误:
Error: src/sass/base/_base.scss
Error: "ul" failed to @extend "%reset-list".
The selector "%reset-list" was not found.
Use "@extend %reset-list !optional" if the extend should be able to fail.
on line 142 of src/sass/base/_base.scss
等等:
Error: src/sass/utilities/_placeholders.scss
Error: You may not @extend an outer selector from within @media.
You may only @extend selectors within the same directive.
From "@extend %clearfix" on line 38 of src/sass/modules/_calendar.scss
on line 9 of src/sass/utilities/_placeholders.scss
此代码适用于其他计算机,所有高级选择器都在开发中使用。
如果我针对特定错误进行谷歌搜索,我可以找到有关它们的错误,以及人们建议备用选择器,但我怀疑还有其他问题我应该修复。
我已将gulp
更新为3.9.1
,gulp-sass
更新为3.1.0
,但我也遇到了相同的错误。
我该如何调试?
谢谢!
编辑:错误清楚地表明代码无效,但奇怪的是,相同的代码正在其他人机器上运行。
我会发布一些代码来解决一些错误,仅供参考:
_vendor-prefixes.scss:116
// Placeholder focus text
@mixin placeholder-focus($color: $input-color-placeholder) {
&:focus::-webkit-&-placeholder { color:$color; }
&:focus:-moz-placeholder { color:$color; } /* FF 4-18 */
&:focus::-moz-placeholder { color:$color; } /* FF 19+ */
&:focus:-ms-input-placeholder { color:$color; }
}
_base.scss:142
// Unordered and Ordered lists
ul,
ol {
@extend %reset-list;
}
以及_placeholders.scss上的include
// Reset List
%reset-list {
padding:0;
margin:0;
li {
list-style:none;
}
}
答案 0 :(得分:0)
这与功能或版本无关。
由于@rac指出代码 无效。
另一位开发人员正在以某种方式浏览错误,并且编译后的.css没有错误的行或者错误的扩展。
删除所有有缺陷的行会导致相同的.css和干净的编译。
谢谢!