我正在使用jslint。我在评论中有这种宽容设置。
/*jslint todo: true*/
在线测试人员通过了它。我把它传递给之前测试过的一段代码。但是,稍后我会收到此失败消息:
Missing property name.
有谁知道为什么属性名称被认为是第二位而不是第一位?
更新17/072014 15:03 - 包含代码
我能够使用以下代码隔离该问题。如果在lint.com中运行,您可以在下面看到代码的各个部分以及它们输出的错误:
/**
* @todo "Unexpected TODO comment".
*/
/*jslint todo: true*/
/**
* @todo Will be tolerated by jslint.
*/
/*jslint todo: false*/
var obj = {
/**
* @todo "Unexpected TODO comment".
*/
};
/*jslint todo: true*/
var obj = {
/**
* @todo jslint will tolerate this line.
*/
};
/*jslint todo: false*/
var obj = {
/*jslint todo: true*/
/**
* @todo jslint will never get to this line.
*/
/*jslint todo: false*/
};
我发现无法在对象文字内设置容差属性。我现在可以解决这个问题。
我无法找到有关此问题的文档,因为我搜索的是' literal'文字符号错误掩盖了这些错误。有谁知道为什么会发生这种情况,或者是否有文件来解释它,或者甚至只是声明它发生了?
答案 0 :(得分:1)
当您在对象中引入/* */
条评论时,JSLint不喜欢它。
例如,我在此代码中出现此错误:
config.output = {
/*jslint nomen:true*/
path: __dirname + '/public',
/*jslint nomen:false*/
publicPath: BUILD ? '/' : 'http://localhost:8080/',
filename: BUILD ? '[name].[hash].js' : '[name].bundle.js',
chunkFilename: BUILD ? '[name].[hash].js' : '[name].bundle.js'
};
通过将其更改为:
解决了问题/*jslint nomen:true*/
config.output = {
path: __dirname + '/public',
publicPath: BUILD ? '/' : 'http://localhost:8080/',
filename: BUILD ? '[name].[hash].js' : '[name].bundle.js',
chunkFilename: BUILD ? '[name].[hash].js' : '[name].bundle.js'
};
/*jslint nomen:false*/
我知道自从你提出要求以来已经过了一两年,但希望这能帮助其他正在寻找的人。