Jshint: Reagieren Sie JSX E015 "Nicht geschlossener regulärer Ausdruck"

Erstellt am 3. Feb. 2017  ·  19Kommentare  ·  Quelle: jshint/jshint

Hallo,

Ich habe einige Probleme in bestimmten Teilen einer React-App mit dem Fehler E015.

Hier sind einige Zeilen, in denen der Fehler angezeigt wird:

<ImagePreview key={el.id} {...el} />

Der Fehler wird im Größer-als-Zeichen am Ende angezeigt

<div className="panel-footer">
  <h5>{this.state.image.description}</h5>
</div>

Der Fehler wird im Größer-als-Zeichen am Ende des h5-Tags angezeigt

<Link to={"topics/"+e.id} key={e.id} className="list-group-item">
  <h4>{e.name}</h4>
  <p>{e.description}</p>
</Link>

Der Fehler wird im Größer-als-Zeichen am Ende des h4-Tags angezeigt

Ich habe Version 2.9.4 und verwende VS Code Version 1.9. Der resultierende gebündelte Code funktioniert ohne Probleme.

Was meine Aufmerksamkeit auf sich zieht, ist, dass der Fehler verschwindet, wenn sich der Code wie folgt ändert:

<div className="panel-footer"><h5>
  {this.state.image.description}
</h5></div>

Hoffentlich kann mir jemand diesbezüglich ein paar Hinweise geben.

Am besten,
Rodrigo.

Needs Information

Hilfreichster Kommentar

Das Deaktivieren von JSHint hat dieses Problem für mich gelöst.

Alle 19 Kommentare

JSHint ist nicht in der Lage, die JSX-Syntax zu analysieren, daher glaube ich nicht, dass der von Ihnen freigegebene Quellcode mit dem Code übereinstimmt, der an JSHint geliefert wird. Es ist jedoch schwierig, dies ohne weitere Kenntnisse Ihrer Toolchain zu sagen. Wenn Sie den JavaScript-Code teilen könnten, sollten wir Ihnen helfen können.

Hallo und danke für die schnelle Antwort!!

Hier ist eine sehr einfache Reaktionsbiolerplatte, die das gleiche Problem darstellt:

import React, { Component } from 'react';

export default class App extends Component {
  render() {
    return (
      <div>React simple boilerplate</div>
    );
  }
}

Hier ist ein Bild , wie es auf VS Code aussieht. Dies ist die vollständige Datei, wie Sie sehen können, und der Fehler ist derselbe.

Hoffentlich sind diese Informationen hilfreich.

Am besten,
Rodrigo.

Ich kann dieses Verhalten auf JSHint.com reproduzieren, aber der von Ihnen gemeldete Fehler ist
erwartet. JShint ist nicht in der Lage, die JSX-Syntax zu analysieren, daher ist der Fehler
korrekte Identifizierung von ungültigem JavaScript.

Ich bin jedoch noch nicht bereit, dieses Thema zu schließen, weil Ihr erster Bericht
gab an, dass die folgende Eingabe keinen Fehler erzeugte:

<div className="panel-footer"><h5>
  {this.state.image.description}
</h5></div>

Dies mag zwar eine gültige JSX-Syntax sein, aber es ist kein gültiges JavaScript, und ich würde es tun
erwarten, dass JSHint einen Fehler meldet. Die Tatsache, dass es nicht darauf hindeutet, dass Ihr
Der Editor führt eine Art Transformation am Code durch, bevor er ihn weitergibt
zusammen mit JSHint. Es ist schwer zu sagen, weil ich nicht weiß, wie Ihr Editor ist
zum Aufrufen von JSHint konfiguriert. Können Sie recherchieren, wie diese Integration geschieht?
(wahrscheinlich über ein Plugin) und sehen, ob eine solche Transformation stattfindet? Wenn
Also, dann könnte der Fehler, den wir sehen, immer noch einen Fehler in JSHint selbst widerspiegeln
(obwohl es auch ein Problem mit dem Plugin sein könnte).

Ich schaue mir das an und melde mich, sobald ich Infos habe.

Am besten,
Rodrigo.

Irgendwelche Worte dazu, @rhernandog?

@jugglinmike Tut mir leid, aber es gibt keine Neuigkeiten dazu.

Wie Sie sehen können, habe ich im Repo der Erweiterung ohne Glück erwähnt. Tatsächlich wurde die Erweiterung seit fast einem Jahr nicht mehr aktualisiert und seit September wurde kein Problem beantwortet, daher bin ich nicht sehr zuversichtlich, dass wir diesbezüglich eine Antwort erhalten werden. Der Ersteller konzentriert sich mehr auf die ESLint-Erweiterung als auf die JSHint-Erweiterung, wie Neo dem Architekten sagte: _The problem is choice_

Sie haben die Wahl, diese entweder offen zu halten oder zu schließen. Wenn es durch irgendein Wunder eine Antwort auf dem Repo gibt, werde ich zurückkommen und es erneut öffnen.

Vielen Dank für das Nachfassen.

Am besten,
Rodrigo.

Ohne weitere Informationen können wir hier nicht viel tun. Ich denke, meine Theorie bezüglich des fehlerhaften Plugin-Verhaltens ist die brauchbarste Erklärung, also möchte ich auf der Grundlage dieser Interpretation fortfahren, bis wir Grund haben, etwas anderes zu vermuten. Wie Sie sagen, können wir dieses Problem wieder öffnen, wenn/falls dies angemessen ist.

Danke, dass Sie sich bei mir gemeldet haben!

https://stackoverflow.com/questions/44861564/react-jsx-error-unclosed-regular-expression/44861565#44861565

Ich hoffe, diese Antwort hilft.

Ich stand vor dem gleichen Problem. Es stellte sich heraus, dass es durch mehrere Erweiterungen von Drittanbietern verursacht wurde.

Hey @jugglinmike , ich habe kürzlich mit JSHint an der VS Code-Erweiterung gearbeitet und kann etwas Licht ins Dunkel bringen. Das gesamte Dokument wird direkt als eine Zeichenfolge an die JSHINT-Javascript-API übergeben, es wird keine Transformation durchgeführt. Der Code

<div className="panel-footer"><h5>
  {this.state.image.description}
</h5></div>

zeigt Fehler an. Ich bin mir nicht sicher, was die Absicht des ursprünglichen Autors war, es auf .jsx-Dateien auszuführen, aber ich denke, die Lösung wäre, dass die Erweiterung die Datei parst und die jsx-Teile der Syntax identifiziert und sie zu Leerzeilen macht, bevor sie an JSHint übergeben werden .

Ich stehe vor dem gleichen Problem ... Ich bin mir nicht sicher, wie ich damit umgehen soll

Dasselbe Problem hier, oder vielleicht ist es nicht einmal ein Problem ...

Das Deaktivieren von JSHint hat dieses Problem für mich gelöst.

Wie deaktiviere ich jshint?

@JuanPabloSilva bitte überprüfen Sie es.

https://github.com/aurelia/vscode-extension/issues/80#issuecomment -368266942

Dieser Fehler ist so ärgerlich, dass er jshint unbrauchbar macht. Gibt es eine Möglichkeit, diesen Hinweis zumindest zu deaktivieren?

Dieser Fehler ist so ärgerlich, dass er jshint unbrauchbar macht. Gibt es eine Möglichkeit, diesen Hinweis zumindest zu deaktivieren?
Stimme dir voll und ganz zu @hiraditya
Wir sollten die Möglichkeit haben, diesen bestimmten Jshint zu deaktivieren, aber nicht die gesamte Erweiterung.

Deaktivieren Sie einfach den jshint, da er mit anderen vscode-Paketen in Konflikt steht.

Danke, ich habe den Jshint entfernt. Dann ist alles in Ordnung.

Ich deinstalliere jshint von meinen VS Code-Erweiterungen, dann ist dieses Problem verschwunden.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

damyanpetev picture damyanpetev  ·  4Kommentare

voronianski picture voronianski  ·  8Kommentare

MtDalPizzol picture MtDalPizzol  ·  7Kommentare

stefanuddenberg picture stefanuddenberg  ·  7Kommentare

jugglinmike picture jugglinmike  ·  6Kommentare