Command line 使用Grunt命令行覆盖JSHint选项
打电话Command line 使用Grunt命令行覆盖JSHint选项,command-line,parameters,gruntjs,overriding,jshint,Command Line,Parameters,Gruntjs,Overriding,Jshint,打电话 grunt jshint:path_to_file 我想覆盖默认的JSHint配置 grunt.initConfig({ jshint: { options: { curly: true, eqeqeq: true, eqnull: true, browser: true, globals: {
grunt jshint:path_to_file
我想覆盖默认的JSHint配置
grunt.initConfig({
jshint: {
options: {
curly: true,
eqeqeq: true,
eqnull: true,
browser: true,
globals: {
jQuery: true
}
},
all: ['Gruntfile.js', 'Scripts/src/**/*.js']
}
});
并且只包括那个特定的文件。
grunt jshint路径到文件也可以,但我不想使用
grunt jshint --file=filePath
选项函数,除非它能满足我的需要
这在某种程度上是可以实现的吗?grunt的精神不仅仅是在命令行中指定文件,而是在Grunfile本身中编码要使用的文件。 所以我们需要更多关于你为什么要这么做的细节。我设想了两种可能性: 您只想处理一个子组件:在这种情况下,您将为每个组件声明不同的目标,并从命令行中调用目标:grunt jshint component1,在Gruntfile中使用:
jshint: {
component1: [filePath1],
component2: [filePath2]
}
这是一个性能问题:您只想jshint一些文件,因为只有它们被更改了。在这种情况下,结合grunt contrib watch在文件更改时运行jshint,结合grunt newer只在修改后的文件上运行
为什么要使用grunt而不是只运行jshint文件路径?我们的项目要求只依赖grunt进行构建、测试等,以便将所有内容都放在一个地方。感谢您迄今为止的输入,我同意这并不符合grunt的精神。我读过关于grunt watcher的文章,但我们需要在所有文件上运行JSHint,这些文件稍后将被检入,而硬编码grunt子集不可能这样做。只有通过JSHint测试后,才允许签入修改过的文件。如果确实无法像grunt jshint filepath/subset那样指定它,我必须使用您提到的watch或更新的方法使其工作。我认为自动化一切对您最好:使用watch+newer在修改过的文件上自动运行jshint,如果您的源代码管理工具允许的话,在所有文件上作为预提交钩子运行jshint。这样,您的策略将由您的工具强制执行。