[英]jscs error : validateLineBreaks: Invalid line break at filename.js
在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) {
------------------------------^
如何解決這個問題?
找到的解決方法:創建新文件並將所有內容復制到其中解決了問題。
仍然想知道發生這種情況的任何具體原因?
這可能是換行符的問題
您可能需要將"validateLineBreaks": null
放入您的.jscsrc
文件中
如果您的.jscsrs帶有規則"validateLineBreaks":"LF"
,則意味着您必須使用LF
作為換行符,如果您使用其他換行符(例如CRLF
),則JSCS將給您以下錯誤:
validateLineBreaks:在api / v1 / base / index.js處無效的換行符:
有兩種方法可以解決問題,一種是更改jscs的規則,另一種是始終使用LF作為換行符。
您可以在此鏈接中找到LF
和CR
之間的區別: https : //en.wikipedia.org/wiki/Newline
tldr; 在 LF 和 CRLF 之間切換,如果您使用的是 VScode,則可以通過單擊右下角的選項來執行此操作:
詳細:正如番茄所說,問題可能是您的 IDE 的換行符格式與 jscs 不兼容,來自 eslint 文檔:
Windows 操作系統中使用的換行符(新行)通常是回車 (CR) 后跟換行 (LF),使其成為回車換行 (CRLF),而 Linux 和 Unix 使用簡單換行 (LF)。 對應的控制序列是“\\n”(對於LF)和“\\r\\n”對於(CRLF)
如果您知道這不會以任何有意義的方式影響項目,您也可以嘗試將*.js text eol=lf
到您的 .gitattributes 文件中。
您可以在此處閱讀有關該問題的更多信息: https : //eslint.org/docs/rules/linebreak-style
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.