gulp-jscs 似乎无法检测配置 (.jscsrc) 文件,但正常的 jscs 可以从命令行检测
gulp-jscs seems to be unable to detect the config (.jscsrc) file, but normal jscs can from the command line
当我从命令行 运行 "gulp style" 时,Gulp 运行s,随后 gulp-jscs 运行 s,但后者似乎无法检测 jscs 配置文件 (.jscsrc) 中定义的规则。但是,如果我从命令行 运行 jscs,那么 jscs 会检测到配置文件的规则。知道这笔交易是什么吗?
这是我的 gulp 文件:
(function() {
"use strict";
var gulp = require("gulp");
var jshint = require("gulp-jshint");
var jscs = require("gulp-jscs");
var jsFiles = ["*.js", "src/**/*.js"];
gulp.task("style", function () {
console.log("Running the style task.");
return gulp.src(jsFiles)
.pipe(jshint())
.pipe(jshint.reporter("jshint-stylish", {
verbose: true
}))
.pipe(jscs({configPath: "./.jscsrc"}));
});
})();
您需要 reporter(就像 jshint
有一个):
var gulp = require("gulp");
var jshint = require("gulp-jshint");
var jscs = require("gulp-jscs");
var jsFiles = ["*.js", "src/**/*.js"];
gulp.task("style", function () {
console.log("Running the style task.");
return gulp.src(jsFiles)
.pipe(jshint())
.pipe(jshint.reporter("jshint-stylish", {
verbose: true
}))
.pipe(jscs({configPath: "./.jscsrc"}))
.pipe(jscs.reporter()); // << this line here
});
其他注意事项,(如果你是cmd
的运行),Gulpfile.js
你不需要将其包装成匿名函数或使用'use strict'
。
示例输出:
[13:53:30] Using gulpfile C:\del\so\gulpjscs\Gulpfile.js
[13:53:30] Starting 'style'...
Running the style task.
[13:53:31] gulp-debug: Gulpfile.js
[13:53:31] gulp-debug: index.js
[13:53:31] gulp-debug: 2 items
Comments must start with a lowercase letter at C:\del\so\gulpjscs\index.js :
1 |// Invalid
--------^
2 |// valid
3 |
1 code style error found.
[13:53:31] Finished 'style' after 187 ms
如果您不确定如何将当前路径 ./
考虑在内,您可以随时使用 path
模块来解决,例如:
var path = require('path');
var configPath = path.resolve(path.join(__dirname, '.jscsrc'))
当我从命令行 运行 "gulp style" 时,Gulp 运行s,随后 gulp-jscs 运行 s,但后者似乎无法检测 jscs 配置文件 (.jscsrc) 中定义的规则。但是,如果我从命令行 运行 jscs,那么 jscs 会检测到配置文件的规则。知道这笔交易是什么吗?
这是我的 gulp 文件:
(function() {
"use strict";
var gulp = require("gulp");
var jshint = require("gulp-jshint");
var jscs = require("gulp-jscs");
var jsFiles = ["*.js", "src/**/*.js"];
gulp.task("style", function () {
console.log("Running the style task.");
return gulp.src(jsFiles)
.pipe(jshint())
.pipe(jshint.reporter("jshint-stylish", {
verbose: true
}))
.pipe(jscs({configPath: "./.jscsrc"}));
});
})();
您需要 reporter(就像 jshint
有一个):
var gulp = require("gulp");
var jshint = require("gulp-jshint");
var jscs = require("gulp-jscs");
var jsFiles = ["*.js", "src/**/*.js"];
gulp.task("style", function () {
console.log("Running the style task.");
return gulp.src(jsFiles)
.pipe(jshint())
.pipe(jshint.reporter("jshint-stylish", {
verbose: true
}))
.pipe(jscs({configPath: "./.jscsrc"}))
.pipe(jscs.reporter()); // << this line here
});
其他注意事项,(如果你是cmd
的运行),Gulpfile.js
你不需要将其包装成匿名函数或使用'use strict'
。
示例输出:
[13:53:30] Using gulpfile C:\del\so\gulpjscs\Gulpfile.js
[13:53:30] Starting 'style'...
Running the style task.
[13:53:31] gulp-debug: Gulpfile.js
[13:53:31] gulp-debug: index.js
[13:53:31] gulp-debug: 2 items
Comments must start with a lowercase letter at C:\del\so\gulpjscs\index.js :
1 |// Invalid
--------^
2 |// valid
3 |
1 code style error found.
[13:53:31] Finished 'style' after 187 ms
如果您不确定如何将当前路径 ./
考虑在内,您可以随时使用 path
模块来解决,例如:
var path = require('path');
var configPath = path.resolve(path.join(__dirname, '.jscsrc'))