Gruntjs jshint grunt导出选项
嗨,我正在努力实现以下目标。我正在使用grunt进行jshint验证 在我使用过的文件中的某个地方:Gruntjs jshint grunt导出选项,gruntjs,jshint,Gruntjs,Jshint,嗨,我正在努力实现以下目标。我正在使用grunt进行jshint验证 在我使用过的文件中的某个地方: var logger = function () { // some ode } 因为记录器从未实际使用过,所以jshint向我正确显示了以下错误 W098: 'logger' is defined but never used. 我可以将unused设置为false,这样就可以完美地工作。但我实际上希望该选项发生在其他文件中,并警告我未使用的变量。所以这个没用的选项对我不起作用 我还发现
var logger = function () {
// some ode
}
因为记录器从未实际使用过,所以jshint向我正确显示了以下错误
W098: 'logger' is defined but never used.
我可以将unused设置为false,这样就可以完美地工作。但我实际上希望该选项发生在其他文件中,并警告我未使用的变量。所以这个没用的选项对我不起作用
我还发现我可以使用这样的内联注释:
*导出库*/
但实际上,我更愿意避免这些评论把我的文件弄得乱七八糟。我是否有可能在grunt文件中指定一个导出选项,就像我可以为globals指定选项一样
以下是我的GrunFile的jshint部分:
jshint: {
// global options
options: {
camelcase: true,
curly: true,
eqeqeq: true,
forin: true,
immed: true,
indent: 4,
latedef: true,
newcap: true,
noarg: true,
nonew: true,
plusplus: false,
quotmark: 'single',
undef: true,
unused: true,
strict: true,
maxparams: 4,
maxdepth: 4,
trailing: true,
maxlen: 120,
browser: true,
node: true
},
server_logger: {
src: [BASE_PATH_SERVER_LOGGER, '/**/*.js'].join(''),
options: {
browser: false
}
},
client_logger: {
src: [BASE_PATH_CLIENT_LOGGER, '/**/*.js'].join(''),
options: {
node: false,
devel: true
}
}
}
谢谢你抽出时间
致意
Playerwtf
更新:我在jshint github repository上提出了一个问题我认为您可以排除src文件中的文件,这样您就可以从基本linting中排除日志文件(我假设这里的日志文件是logger.js),并在禁用unused标志的情况下单独lint日志文件 了解更多->“!在模式开头将否定匹配” 您可以设置cwd(并保留join内容)。有关更多信息,请参见文档:
不是100%确定这是否有效,但我认为它至少应该引导你进入正确的方向。如果您需要指定一个路径,而不仅仅是一个要排除的文件,您可以将记录器文件放在一个单独的文件夹中,只需排除该文件夹即可 我认为您可以排除src文件中的文件,因此您可以从基本linting中排除记录器文件(我假设记录器文件在这里是logger.js),并在禁用unused标志的情况下单独lint记录器文件 了解更多->“!在模式开头将否定匹配” 您可以设置cwd(并保留join内容)。有关更多信息,请参见文档:
不是100%确定这是否有效,但我认为它至少应该引导你进入正确的方向。如果您需要指定一个路径,而不仅仅是一个要排除的文件,您可以将记录器文件放在一个单独的文件夹中,只需排除该文件夹即可 这是最近修复的,现在可以正常工作了 作为一个例子,我在Grunfile中使用它
client_logger: {
expand: true,
cwd: BASE_PATH_CLIENT_LOGGER,
src: '**/*.js',
options: {
node: false,
devel: true,
globals: {
logger: true,
expect: true,
it: true,
describe: true,
beforeEach: true,
afterEach: true
},
exported: ['logger']
}
}
但npm模块尚未更新。如果您想让它工作,您必须手动从jshint github存储库复制最新版本,并替换当前模块中的版本,或者等待更新。这是最近修复的,现在可以正常工作 作为一个例子,我在Grunfile中使用它
client_logger: {
expand: true,
cwd: BASE_PATH_CLIENT_LOGGER,
src: '**/*.js',
options: {
node: false,
devel: true,
globals: {
logger: true,
expect: true,
it: true,
describe: true,
beforeEach: true,
afterEach: true
},
exported: ['logger']
}
}
但npm模块尚未更新。如果您希望此功能正常运行,则必须手动从jshint github存储库复制最新版本,并替换当前模块中的版本,或者等待更新。您好,谢谢您的回复。我对cwd并不陌生,谢谢你。虽然我很确定你的解决方案应该有效,但它不是很优雅。我正在考虑与您提到的相同的问题,但我想我会有越来越多的文件,比如logger.js,我不想指定所有这些单独的文件。但我必须看看是否有其他选择。我真的希望有一个像exported:{//exported variables}这样的选项,因为它适用于globalsHi。感谢您的回复。我对cwd并不陌生,谢谢你。虽然我很确定你的解决方案应该有效,但它不是很优雅。我正在考虑与您提到的相同的问题,但我想我会有越来越多的文件,比如logger.js,我不想指定所有这些单独的文件。但我必须看看是否有其他选择。我真的希望有一个像exported:{//exported variables}这样的选项,因为它适用于全局变量