我发现我们在 Windows 上有开发人员正在检查代码是否有效,即使它有文件名大小写错误,如:
import speakers.js
代替
import Speakers.js
这是正确的。在 Windows 上,它可以工作,在 Mac 上则不行。确保 Windows 开发人员不会 checkin 这样的问题代码的最佳方法是什么?
最佳答案
使用 linter
Linters 是验证您的源代码是否符合某些规则的程序。 linter 可能会禁止使用 var
关键字,或者可能会强制在行尾出现分号。
在 javascript 中,the most common linter is eslint .它的设置相当简单,大多数代码编辑器都能很好地使用它。
有一个特定的 eslint 插件可以检查某些规则是否在 require
和 import
调用中得到执行:eslint plugin dependencies .它强制文件存在或文件名区分大小写,所以这个插件应该为你做这个技巧。 (但是,我从来没有自己配置过它。我相信大多数来自 javascript 框架的 cli 应用程序都将它包含在它们的默认配置中)。
如果设置正确,当开发人员尝试在 import 或 require 语句中使用 mayus 时,他们将在他们的编辑器中看到警告,并且命令 eslint
将在运行时失败。
使用 javascript 钩子(Hook)确保没有无效的提交被推送到存储库
使用 git hooks,您可以强制 eslint
(或任何其他 linter 或命令)必须通过才能将提交添加到存储库。
This article explain how to do this with javascript (免责声明,我是作者),并提供了有关此事的一些背景信息。
还有the husky package这很容易让你设置 git hooks 来防止错误的提交。使用 husky 的好处是可以将 Hook 推送到存储库,因此项目的新开发人员不需要手动设置他们的 .git/hooks/
文件。
关于javascript - 在 Node 中,JavaScript 大小写问题,windows vs mac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55072316/