2014-07-17 4 views
4

Я использую jslint. У меня есть эта настройка допуска в моих комментариях.jslint Отсутствует название свойства

/*jslint todo: true*/ 

Он-лайн тестер передает его. У меня это происходит в части кода, проверенной ранее. Тем не менее, позже я получаю это сообщение об ошибке:

Missing property name. 

Кто-нибудь знает, почему имя свойства рассматривается как отсутствующие во втором месте, а не первый?

Update 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*/ 
}; 

То, что я обнаружил, что свойства толерантности не может быть установлен внутри литерала объекта. Теперь я могу решить эту проблему.

У меня возникли проблемы с поиском документации по этой проблеме, потому что мои поиски «литерала» были затушеваны буквальными ошибками записи. Кто-нибудь знает, почему это происходит или есть документация, чтобы объяснить это, или даже просто заявить, что это происходит?

+0

Какой код? – ruffin

+0

Теперь я включил код и дополнительную информацию. – Shoreline

ответ

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*/ 

Я знаю, что это был год или два, так как вы просили, но , надеюсь, это поможет любому, кто смотрит.

Смежные вопросы