我正在使用style-lint插入 Scss 文件和 styled-components (通过使用不同的styleint.config文件)。
注释掉有效的CSS(https://github.com/styled-components/stylelint-processor-styled-components/issues/299)后,Stylint似乎有待解决。
我可以不使用双斜杠注释,而可以使用块注释(/* block comment */
),但是我想要保持一致:样式组件中的css和Scss文件共享相同的css语法。
我的想法是禁止对样式组件和Scss文件使用双斜杠注释。
// file: stylelint.config.styledComponents.js
module.exports = {
processors: [
'stylelint-processor-styled-components',
],
extends: [
'stylelint-config-standard',
'stylelint-config-styled-components',
],
rules: {
// enforce block comments
'no-invalid-double-slash-comments': true,
},
};
这是关于Scss文件的:
// file: stylelint.config.scss.js
module.exports = {
extends: [
'stylelint-config-standard',
],
plugins: [
'stylelint-scss',
],
rules: {
//
// `scss/at-rule-no-unknown` is basically a wrapper around the mentioned core rule,
// but with added SCSS-specific @-directives. So if you use the core rule, @if, @extend
// and other Sass-y things will get warnings. You must disable stylelint's core rule to
// make this rule work
//
// source: https://github.com/kristerkari/stylelint-scss/blob/master/src/rules/at-rule-no-unknown/README.md#at-rule-no-unknown
//
'at-rule-no-unknown': null,
'scss/at-rule-no-unknown': true,
// Report errors for unknown pseudo-classes with exception for :export
'selector-pseudo-class-no-unknown': [true, {
ignorePseudoClasses: ['export'],
}],
// Override rules to match styles used in styled-components
//
// Following rules comes from diffing the print-config results
// from styled-components and scss files
'no-missing-end-of-source-newline': null,
'no-empty-source': null,
'value-no-vendor-prefix': [true],
'property-no-vendor-prefix': [true],
// enforce block comments
'no-invalid-double-slash-comments': true,
},
};
使用双斜杠注释时,Linging Scss文件不会出错。有办法吗?
答案 0 :(得分:0)
no-invalid-double-slash-comments
rule不允许particular type on double slash comment in CSS。引用the docs:
如果您使用的预处理器允许
//
个单行注释(例如Sass,Less,Stylus),则此规则不会对此有所抱怨。它们由您的预处理器编译成标准CSS注释,因此stylelint会认为它们有效。
我不认为存在禁止SCSS双斜杠注释的现有规则。但是,您可以write a simple plugin执行此操作。我建议您使用comment-no-loud
rule中的stylelint-scss plugin pack作为蓝图。