Node.js 在Windows机器上工作时,使用unix行结尾是否有任何副作用?
我在Windows7上工作,有一个node.js项目,它在git下。我将我的乌龟登录设置为Node.js 在Windows机器上工作时,使用unix行结尾是否有任何副作用?,node.js,git,newline,tortoisegit,core.autocrlf,Node.js,Git,Newline,Tortoisegit,Core.autocrlf,我在Windows7上工作,有一个node.js项目,它在git下。我将我的乌龟登录设置为autocrlf:false和safecrlf:false。然后将所有项目文件的行尾更改为LF。项目启动并正常运行,我认为没有理由返回CRLF 完成此操作后是否会产生任何副作用?如果所有工具/编辑器/IDE都是LF兼容的,则没有问题 否则,保存时可能会出现错误或行尾混合 为了确保克隆您的存储库的其他用户不会进行任何转换,您可以将.gittributes文件放入根文件夹,其中包含:*-crlf,该文件将禁用所
autocrlf:false
和safecrlf:false
。然后将所有项目文件的行尾更改为LF。项目启动并正常运行,我认为没有理由返回CRLF
完成此操作后是否会产生任何副作用?如果所有工具/编辑器/IDE都是LF兼容的,则没有问题 否则,保存时可能会出现错误或行尾混合
为了确保克隆您的存储库的其他用户不会进行任何转换,您可以将
.gittributes
文件放入根文件夹,其中包含:*-crlf
,该文件将禁用所有crlf转换。否,在Windows上使用*nix行尾序列完全没有问题(LF
而不是CRLF
)。事实上,我个人的建议是确保您的Windows编辑器(如果您在Windows上开发node.js)使用LF
作为一个例子,我使用编辑器开发node.js,我在用户设置中指定了以下内容以使用LF
,而不是CRLF
:“files.eol”:“\n”
。现在我不再需要担心这一点
CRLF
行尾会导致在Linux上运行的node.js应用程序出现中断问题,以及
TL;DR在Windows上开发node.js应用程序时使用LF
,如果您真正关心跨平台(您应该关心)
注意:仅仅因为git更改了行尾并不意味着这就是解决方案。即使您同意版本控制更改源代码(我不建议这样做),如果您执行
npm发布
,它将在本地使用您的源文件,您可以将CRLF
s潜入npm注册表。这算不上正确的答案,但不,您不应该期望有太多问题。唯一让人头疼的程序是notepad.exe
-它显示带有Unix行分隔符的文件就像一条巨大的线。