JSHint - 换行错误

时间:2015-08-03 11:30:40

标签: javascript jshint

JSHint 会在文件末尾没有换行时抱怨。这是一个例子:

Missing line feed at file end at app/services/cache.js :
    14 |
    15 |  });
    16 |})();
-------------^

拥有此换行符的目的是什么?它会有什么不同?

1 个答案:

答案 0 :(得分:2)

如果您直接在HTML或NodeJS中使用.js文件,并且使用IDE等WebStorm或Sublime等完全编辑它,则没有真正的优势。

如果稍后在构建和部署中使用Gulp之类的东西将cache.jsedit.js等多个.js文件连接成一个master.js,那么cache.js的最后一行1}}将与edit.js的第一行位于同一行。

如果您写的cache.js没有换行符,则以下列

结尾
  });
})();

并说你有另一个文件edit.js,你使用像Gulp这样的工具连接成一个master.jsedit.js从以下开始

/* a really krufty set of code for editing barrels of kittens */
$().read(function() {
    // ... da code be here ...

然后您的最终master.js会有这样的一行

})();/* a really krufty set of code for editing barrels of kittens */

那有什么不对吗?不,不是真的。根据有问题的行,可能会使调试或读取更难。

而且,正如amenthes所评论的那样,catwc -l等命令行工具无法提供预期结果。

而且,正如Przemysław Jan Wróbel让我看到的,这里有一个很棒的答案https://stackoverflow.com/a/25322168/266531