gulp-jshint 指定应该通过 jshint() 的文件并忽略其他文件
gulp-jshint specify files which should go through jshint() and ignore other files
我遇到的情况是,我正在通过gulp构建缩小的脚本,从供应商脚本或我的脚本中构建缩小的脚本,如下所示:
var paths = {
public : './public/javascripts',
api : './public/API',
vendor : './public/vendor',
destination : './dist'
};
gulp.task('scripts-out', function() {
gulp.src([
paths.public + '/a.js',
paths.public + '/b.js',
paths.public + '/c.js',
paths.public + '/d.js',
paths.api + '/e.js',
paths.public + '/f.js'
])
.pipe(jshint())
.pipe(jshint.reporter('default'))
.pipe(concat('out.js'))
.pipe(gulp.dest(paths.destination + '/javascripts'));
});
只有e.js
不是供应商脚本,只有该脚本应该通过 jshint((,从插件的官方文档中我看不到解决方案。
我尝试将config
对象传递给jshint((,如下所示:
pipe(jshint({
files: paths.api + '/e.js'
}))
那只是猜测,行不通。这个问题如何强制jshint将结果写入某个文件而不是控制台?
编辑:查找解决方案我找到了通过.jshintignore
文件的方法,该文件应该在项目的根目录中,例如,如果您想忽略供应商文件夹中的所有内容,您只需向.jshintignore
文件添加一行:public/src/vendor/*
您可以使用
gulp-filter来过滤传递给jshint
的文件:
var gulpFilter = require('gulp-filter');
var filter = gulpFilter([paths.public + '/e.js']);
gulp.task('scripts-out', function() {
return gulp.src([
paths.public + '/a.js',
paths.public + '/b.js',
paths.public + '/c.js',
paths.public + '/d.js',
paths.api + '/e.js',
paths.public + '/f.js'
])
.pipe(filter)
.pipe(jshint())
.pipe(jshint.reporter('default'))
.pipe(filter.restore())
.pipe(concat('out.js'))
.pipe(gulp.dest(paths.destination + '/javascripts'));
});
新版本(3.0.1(有界面更新:
// you should pass {restore: true} for restore ability
var filter = gulpFilter([paths.public + '/e.js'], {restore: true});
...
// filter.restore is now object, not a method
.pipe(filter.restore)
相关文章:
- 生成pdf或其他非html文件时的错误处理
- 为其他JS生成定义“;编译器”;来自TypeScript定义文件
- 如何将JS文件从其他文件夹链接到页面
- 输入类型=文件验证停止其他输入类型验证
- 将不同上传的文件显示为缩略图或任何其他方式
- 使用metro-uiJS对话框调用其他文件html
- 节点:'最佳实践'使用其他js文件的js文件
- 使用CloudFront和AmazonS3,或者其他CDN,我可以将所有类似的请求发送到一个静态文件中
- 先在Angular中加载配置文件,然后再加载其他文件
- 如何忽略node.js中其他文件或组件所需的文件
- Firefox扩展开发:如何在内容脚本中创建一个全局函数,以便其他加载的脚本文件可以访问它
- 如何使用其他 JavaScript 文件中的新类访问我的 createjs 导出的 js 文件
- 是否可以在其他文件中获取 AJAX 成功变量的值
- 使用其他javascript文件nodejs和express发送和获取数据 socket.io
- 如何将timbre.js缓冲区导出为.wav或任何其他音频文件格式
- 如何设置观察程序将文件复制到同一文件夹中的其他文件
- Meteor-如何从其他JS文件中调用外部类方法
- NodeJS-从其他文件导入函数,并像以前一样使用
- Typescript从其他ts文件扩展类
- 放在哪里;很多“;数据的数组/文件/其他地方,在node.JS上的JS中