gpt4 book ai didi

javascript - ESLint - 忽略 JS 解析中的行

转载 作者:太空宇宙 更新时间:2023-11-03 16:20:12 25 4
gpt4 key购买 nike

从 JSHint 迁移到 ESLint 以获得 ES6/React 支持并遇到错误。我在我的 JS 文件中编写 Ruby 来生成一些常量,而不是从后端对它们进行 AJAX,例如:

var myObj = { 
<% Requirements::COMPARATORS.sort.each do |k,v| %> */
{ code: '<%= escape_javascript k %>', name: '<%= escape_javascript v %>'
<% end %>
}

这会导致 ESLint 出错

2:1  error  Parsing error: Unexpected token

在 JSHint 时代我会用/* jshint ignore:start */包装,所以:

/* jshint ignore:start */
//some ruby code
/* jshint ignore:end */

但是在使用禁用/启用注释时,这不起作用,我仍然会收到错误消息。

/*eslint-disable*/ 
//some ruby code
/*eslint-enable*/

这只是对 ESLint 的限制吗?有什么办法可以解决这个问题吗?我考虑过编写一个处理器并以这种方式去除所有 ruby​​ 代码,但是我希望有一个更简单/更快的解决方案,因为这实际上只存在于两到三个文件中。

谢谢

最佳答案

JSHint 和 ESLint 之间的区别在于 JSHint 在解析文件时对文件进行 linting。所以评论会禁用解析器,直到它看到相应的结束评论。在 ESLint 中,整个文件首先被解析为 AST,然后再进行处理。没有办法为几行禁用解析器。最好的办法是创建一个处理器(或者看看是否有人已经创建了一个处理器),它只会提取文件的 javascript 部分。

关于javascript - ESLint - 忽略 JS 解析中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34888523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com