Как исправить ошибку linting на закрывающих тегах jsx: "незакрытое регулярное выражение"?
(PS Ни один из этих вопросов SO (с неточными заголовками) не решил или не решил эту проблему: React Linting: Незакрытое регулярное выражение, незамкнутое регулярное выражение, Ошибка React JSX: Незакрытое регулярное выражение)
Как исправить ошибку linting на закрывающих тегах jsx: "незакрытое регулярное выражение"?
Например, этот фрагмент кода работает нормально, но вызывает ошибку SublimeLinter:
class Users extends React.Component {
render() {
var friends = this.props.list.filter(function(user){
return user.friend === true;
});
var nonFriends = this.props.list.filter(function(user){
return !user.friend;
});
return (
<div>
<h1>Friends</h1>
<ul>
...
Линтер ломается </h1>
закрывая тег JSX, думая, что это начало регулярного выражения.1-2 of 2 erros: Unclosed regular expression; Unrecoverable syntax error. (42% scanned), 2 lines, 25 characters selected
Соответствующие пакеты, которые я установил в Sublime Text3:
SublimeLinter, SublimeLinter-contrib-eslint, JSHint, Babel
редактировать:
Я только что добавил пакет "JSX", но это не помогло.
Я искал пакет "sublimeLinter-jsxhint", но не могу его найти.
2 ответа
Расширение запускает jshint для всего файла jsx, а jshint не поддерживает синтаксис jsx и его функции. Я просто отключил JShint с помощью -> (Код-> Настройки-> Настройки-> Расширения пользователя-> Конфигурация JSHint-> JSHint: Включить флажок-> Выкл.)
Одним из решений было бы ручное отключение jshint вокруг функций, возвращающих HTML, с помощью
/* jshint ignore: start */
а также
/* jshint ignore: end */
.
Если вы используете SublimeLinter-contrib-eslint AND JSHint, вы, вероятно, столкнулись с конфликтующими проблемами. Я бы удалил JSHint из Sublime, если вы не используете его в своем конвейере сборки, а затем удалите пакет eslint.