Как исправить ошибку 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.

Другие вопросы по тегам