Jshint: React JSX E015“未封闭的正则表达式”

创建于 2017-02-03  ·  19评论  ·  资料来源: jshint/jshint

你好,

我在 React 应用程序的特定部分遇到了一些问题,错误为 E015。

以下是显示错误的一些行:

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

错误显示在末尾的大于号中

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

错误显示在 h5 标签末尾的大于号中

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

错误显示在 h4 标签末尾的大于号中

我有 2.9.4 版并使用 VS Code 1.9 版。 生成的捆绑代码可以正常工作。

引起我注意的是,当代码更改为以下内容时,错误消失了:

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

希望有人可以给我一些关于这个的指示。

最好的,
罗德里戈。

Needs Information

最有用的评论

禁用 JSHint 为我解决了这个问题。

所有19条评论

JSHint 无法解析 JSX 语法,因此我认为您共享的源代码与提供给 JSHint 的代码不同。 但是,如果不进一步了解您的工具链,就很难说出这一点。 如果您可以分享 JavaScript 代码,那么我们应该能够提供帮助。

嗨,感谢您的快速回答!!

这是一个非常简单的反应生物板,它提出了同样的问题:

import React, { Component } from 'react';

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

这是它在 VS Code 上的外观图片。 如您所见,这是完整的文件,错误是相同的。

希望这些信息对您有所帮助。

最好的,
罗德里戈。

我可以在 JSHint.com 上重现该行为,但您报告的错误是
预期的。 JSHint 无法解析 JSX 语法,因此错误是
正确识别无效的 JavaScript。

不过,我还没有准备好结束这个问题,因为你的初始报告
表示以下输入没有产生错误:

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

虽然这可能是有效的 JSX 语法,但它不是有效的 JavaScript,我会
期望 JSHint 报告错误。 事实上,它并不表明您的
编辑器在传递代码之前正在对代码执行某种转换
到 JSHint。 很难说,因为我不知道你的编辑怎么样
配置为调用 JSHint。 你能研究一下这种整合是如何发生的吗
(可能通过一些插件),看看是否正在发生这种转变? 如果
所以,那么我们看到的错误可能仍然反映了 JSHint 本身的错误
(尽管它也可能是插件的问题)。

我会调查一下,一旦我有一些信息就会回来。

最好的,
罗德里戈。

对此有任何消息,@rhernandog 吗?

@jugglinmike抱歉,没有关于此的消息。

如您所见,我在扩展程序的存储库中提到了没有运气。 事实上,该扩展已近一年没有更新,自 9 月以来没有任何问题得到解答,所以我不太相信我们会得到关于此的答案。 创作者最关注的是 ESLint 扩展而不是 JSHint 扩展,就像 Neo 对架构师说的: _问题是选择_

您可以选择保持打开或关闭它。 如果有任何奇迹在回购中有答案,我会回来重新打开它。

感谢您的跟进。

最好的,
罗德里戈。

没有任何进一步的信息,我们在这里无能为力。 我认为我关于错误插件行为的理论是最可行的解释,所以我想根据这种解释继续进行,直到我们有理由怀疑。 正如你所说,我们可以在合适的时候/如果合适的话重新打开这个问题。

谢谢你回到我身旁!

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

我希望这个答案有帮助。

我面临着同样的问题。 原来它是由几个第三方扩展引起的。

@jugglinmike ,我最近使用 JSHint 开发了 VS Code 扩展,并且可以对此有所了解。 它直接将整个文档作为一个字符串传递给 JSHINT javascript api,不进行任何转换。 代码

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

确实显示错误。 我不确定原作者在 .jsx 文件上运行它的意图是什么,但我想解决方案是让扩展解析文件并识别语法的 jsx 部分并在将它们传递给 JSHint 之前将它们设为空行.

我面临同样的问题......不知道如何处理这个

这里有同样的问题,或者它甚至不是问题......

禁用 JSHint 为我解决了这个问题。

如何禁用 jshint?

@JuanPabloSilva请检查一下。

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

这个错误太烦人了,它使 jshint 无法使用。 是否有至少禁用此提示的选项?

这个错误太烦人了,它使 jshint 无法使用。 是否有至少禁用此提示的选项?
完全同意你@hiraditya
我们应该可以选择禁用这个特定的 jshint,但不能禁用整个扩展。

只需禁用 jshint,因为它与其他 vscode 包冲突。

谢谢,我删除了 jshint。然后一切正常。

我从我的 VS Code 扩展中卸载jshint ,然后这个问题就消失了。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

damyanpetev picture damyanpetev  ·  4评论

nzakas picture nzakas  ·  10评论

voronianski picture voronianski  ·  8评论

ghost picture ghost  ·  5评论

MtDalPizzol picture MtDalPizzol  ·  7评论