javascript - 在 Node 中,JavaScript 大小写问题,windows vs mac

标签 javascript node.js

我发现我们在 Windows 上有开发人员正在检查代码是否有效,即使它有文件名大小写错误,如:

import speakers.js

代替

import Speakers.js

这是正确的。在 Windows 上,它可以工作,在 Mac 上则不行。确保 Windows 开发人员不会 checkin 这样的问题代码的最佳方法是什么?

最佳答案

使用 linter

Linters 是验证您的源代码是否符合某些规则的程序。 linter 可能会禁止使用 var 关键字,或者可能会强制在行尾出现分号。

在 javascript 中,the most common linter is eslint .它的设置相当简单,大多数代码编辑器都能很好地使用它。

有一个特定的 eslint 插件可以检查某些规则是否在 requireimport 调用中得到执行: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/

相关文章:

javascript - 音乐机器人可以加入但无法播放文件

javascript - 如何在多个 Angular 应用程序之间共享相同的配置

javascript - 如何用js对输入字段的值进行限制

javascript - 如何添加 ngRoute 作为依赖项

node.js - 任何人都可以引导我朝着正确的方向让这个 Azure Functions 输出 "Cannot Find Module ' @azure/functions' 吗?

node.js - Mongoose 插件将额外数据分配给字段但不保存到数据库

javascript - 如何使用for循环更新mongodb中的对象数组

javascript - 错误 : The client-side rendered virtual DOM tree is not matching server-rendered

javascript - 是否可以更改作为文本元素克隆的 svg use 元素的 textContent 值?

javascript - 如何使用输入类型=文件允许接受的文件类型不受限制?