JSHint 会在文件末尾没有换行时抱怨。这是一个例子:
Missing line feed at file end at app/services/cache.js :
14 |
15 | });
16 |})();
-------------^
拥有此换行符的目的是什么?它会有什么不同?
答案 0 :(得分:2)
如果您直接在HTML或NodeJS中使用.js文件,并且使用IDE等WebStorm或Sublime等完全编辑它,则没有真正的优势。
如果稍后在构建和部署中使用Gulp之类的东西将cache.js
和edit.js
等多个.js文件连接成一个master.js
,那么cache.js
的最后一行1}}将与edit.js
的第一行位于同一行。
如果您写的cache.js
没有换行符,则以下列
});
})();
并说你有另一个文件edit.js
,你使用像Gulp这样的工具连接成一个master.js
,edit.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所评论的那样,cat
和wc -l
等命令行工具无法提供预期结果。
而且,正如Przemysław Jan Wróbel让我看到的,这里有一个很棒的答案https://stackoverflow.com/a/25322168/266531