【问题标题】:Keep JS format code consistent between developers?让开发者之间的 JS 格式代码保持一致?
【发布时间】:2019-08-21 21:29:39
【问题描述】:

我们一直遇到 Javascript 开发人员在编辑器上使用不同代码格式的问题。一些开发人员使用 VSCode、Sublime 或 PHPStorm。当开发人员创建 PR (Github) 时,我们的代码格式不一致。

开发人员是否可以运行命令(npm 格式)来自动格式化代码。 CI还会做代码格式检查吗?

【问题讨论】:

  • 使用 ESLint 或 JSCS(JavaScript 代码风格)。实际上,大多数 linter 都有样式配置。而且大多数 JS 编辑器也有一种集成 linter 的方法——通常是内置的,有时它是一个额外的插件或其他东西。一旦到位,它将发出风格变化的信号。 ESLint 和 JSCS(可能还有其他)也可以自动格式化以符合规则。我个人在我的编辑器中保存时启用了自动格式,但您也可以将其作为 Git 挂钩或以其他方式自动化。

标签: javascript node.js code-formatting prettier js-beautify


【解决方案1】:

如果您只是在寻找代码格式化程序,Prettier 是一个不错的选择。使用 Prettier,您可以进行集中配置(例如,4 个间隔制表符、双引号等),并且运行单个命令将清理您的文件。

您可以使用 Husky 扩展它,这是我使用 git 挂钩的首选。然后,你可以设置一个 pre-commit 钩子,它会在提交任何新代码之前使用 Prettier 自动清理你的文件。

在将 Prettier 和 Husky 添加为 devDependencies 后,您可以将以下内容添加到您的 package.json

{
  "scripts": {
    "prettier-format": "prettier --write 'src/**/*.js'"
  },
  "husky": {
    "hooks": {
      "pre-commit": "npm run prettier-format"
    }
  }
}

您也可以使用 Onchange,它可以配置为在保存任何文件更改后运行 Prettier:https://prettier.io/docs/en/watching-files.html

【讨论】:

    【解决方案2】:

    你可以试试Nx,它为你处理 Prettier、TSLint 和许多其他东西。然后你可以运行nx format:check(它也可以通过运行npm run format:check轻松嵌入到管道中)来检查你的格式。 nx format:write / npm run format:write 将为您编写规则。结合 VSCode 选项 Editor: Format on Save 打开on,效果非常好,强烈推荐。

    【讨论】:

      猜你喜欢
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多