在grunt-jscs之后,它为base/index.js文件提供了以下错误。
Running "jscs:src" (jscs) task
validateLineBreaks: Invalid line break at api/v1/base/index.js :
1 |var errors = require('restify-errors');
-----------------------------------------------^
2 |function Base(Model) {删除var errors = require('restify-errors');后,它将开始出现以下错误
Running "jscs:src" (jscs) task
validateLineBreaks: Invalid line break at api/v1/base/index.js :
1 |function Base(Model) {
------------------------------^如何解决这个问题?
解决方案找到了:创建了新文件并将所有内容复制到其中解决了问题。
还想知道发生这种事的具体原因吗?
发布于 2016-02-08 16:59:52
这可能是line breaks的一个问题
您可能需要将"validateLineBreaks": null放入.jscsrc文件中。
发布于 2017-03-20 01:51:13
如果您的.jscsrs与规则"validateLineBreaks":"LF"一起使用,这意味着您必须使用LF作为换行符;如果您使用的是其他换行符号(如CRLF),则JSCS将给您一个错误,例如:
validateLineBreaks: api/v1/base/index.js处的无效行中断:
解决这个问题的方法有两种,一种是改变jscs的规则,另一种是总是使用LF作为换行。
您可以在以下链接中找到LF和CR的不同之处:https://en.wikipedia.org/wiki/Newline
发布于 2021-10-22 18:53:53
如果您使用的是VScode,您可以通过单击右下角的选项来实现这一点:

详细信息:正如番茄说的,问题可能是IDE的换行格式与eslint文档中的jscs不兼容:
windows操作系统中使用的换行(新行)通常是回车(CR),后面是行提要(LF),使其成为回车行提要(CRLF),而Linux和Unix则使用简单的行提要(LF)。相应的控制序列是"\n“(代表LF)和"\r\n”表示(CRLF)
如果您知道*.js text eol=lf不会以任何有意义的方式影响到项目,您也可以尝试将它添加到.gitattributes文件中。
您可以在这里阅读更多关于这个问题的文章:https://eslint.org/docs/rules/linebreak-style
https://stackoverflow.com/questions/35240464
复制相似问题