stylelint - 哪里有创建您自己的插件的示例?
stylelint - Where are there examples to create your own plugin?
我去了stylelint 网站,github 并通过npm 在本地下载。 stylelint 网站建议创建我自己的插件我应该使用这种格式:
var myPluginRule = stylelint.createPlugin(ruleName, function(primaryOption, secondaryOptionObject) {
return function(postcssRoot, postcssResult) {
var validOptions = stylelint.utils.validateOptions(postcssResult, ruleName, { .. })
if (!validOptions) { return }
// ... some logic ...
stylelint.utils.report({ .. })
}
})
当我在 npm 文件夹中为 stylelint 执行 'find' 时,我找不到任何使用此格式的示例。谁能推荐一个关于创建您自己的插件的非常好的教程?
谢谢
好吧,玩了之后我真的找到了办法。
1) 先决条件:
$ npm init
$ npm install gulp stylelint gulp-style-lint --save-dev
2) 在 ./scss/myfile.scss
创建一些 scss 文件
正文{背景:红色;}
3) 创建./gulpfile.js
var gulp = require('gulp');
var gulpStylelint = require('gulp-stylelint');
gulp.task('stylelint',function(){
return gulp
.src('./scss/*.scss')
.pipe(
gulpStylelint({
reporters: [
{formatter: 'string', console: true}
]
})
);
})
4) 创建./stylelintCustom/index.js
var stylelint = require("stylelint");
var ruleName = "steves/steve1";
var messages = stylelint.utils.ruleMessages(ruleName, {
rejected: 'steve rejects this',
});
module.exports = stylelint.createPlugin(ruleName, function(max, options) {
return function(root, result) {
// to access the variable for the whole of this file scss =
console.log(root.source.input);
// apply rules now...
// run reporter to output
}
});
module.exports.ruleName = ruleName;
module.exports.messages = messages;
确保命名规则名称:"plugins/plugin"。即steves/steverule1等
5) 一定要创建stylelintCustom/package.json
{
"name": "stylelint-steves-steve1",
"version": "0.0.1",
"main": "index.js",
"devDependencies": {
"stylelint": "~2.6.0"
},
"engines": {
"node": ">=0.10.0"
}
}
6) 创建:stylelint.rc
{
"plugins": [
"./stylelintCustom/index.js"
],
"rules": {
"steves/steve1": true
}
}
7) 运行 gulp
$ gulp stylelint
会输出scss,所以你可以运行任何你需要的js,正则表达式。
要了解现有规则在 stylelint 中的工作方式,您可以访问:
yourproject/node_modules/stylelint/dist/rules/*
我去了stylelint 网站,github 并通过npm 在本地下载。 stylelint 网站建议创建我自己的插件我应该使用这种格式:
var myPluginRule = stylelint.createPlugin(ruleName, function(primaryOption, secondaryOptionObject) {
return function(postcssRoot, postcssResult) {
var validOptions = stylelint.utils.validateOptions(postcssResult, ruleName, { .. })
if (!validOptions) { return }
// ... some logic ...
stylelint.utils.report({ .. })
}
})
当我在 npm 文件夹中为 stylelint 执行 'find' 时,我找不到任何使用此格式的示例。谁能推荐一个关于创建您自己的插件的非常好的教程?
谢谢
好吧,玩了之后我真的找到了办法。
1) 先决条件:
$ npm init
$ npm install gulp stylelint gulp-style-lint --save-dev
2) 在 ./scss/myfile.scss
创建一些 scss 文件正文{背景:红色;}
3) 创建./gulpfile.js
var gulp = require('gulp');
var gulpStylelint = require('gulp-stylelint');
gulp.task('stylelint',function(){
return gulp
.src('./scss/*.scss')
.pipe(
gulpStylelint({
reporters: [
{formatter: 'string', console: true}
]
})
);
})
4) 创建./stylelintCustom/index.js
var stylelint = require("stylelint");
var ruleName = "steves/steve1";
var messages = stylelint.utils.ruleMessages(ruleName, {
rejected: 'steve rejects this',
});
module.exports = stylelint.createPlugin(ruleName, function(max, options) {
return function(root, result) {
// to access the variable for the whole of this file scss =
console.log(root.source.input);
// apply rules now...
// run reporter to output
}
});
module.exports.ruleName = ruleName;
module.exports.messages = messages;
确保命名规则名称:"plugins/plugin"。即steves/steverule1等
5) 一定要创建stylelintCustom/package.json
{
"name": "stylelint-steves-steve1",
"version": "0.0.1",
"main": "index.js",
"devDependencies": {
"stylelint": "~2.6.0"
},
"engines": {
"node": ">=0.10.0"
}
}
6) 创建:stylelint.rc
{
"plugins": [
"./stylelintCustom/index.js"
],
"rules": {
"steves/steve1": true
}
}
7) 运行 gulp
$ gulp stylelint
会输出scss,所以你可以运行任何你需要的js,正则表达式。
要了解现有规则在 stylelint 中的工作方式,您可以访问:
yourproject/node_modules/stylelint/dist/rules/*