【问题标题】:How do I run prettier on a specific subdirectory on my project?如何在项目的特定子目录上运行 prettier?
【发布时间】:2022-01-24 15:40:35
【问题描述】:

我有一个类似这样的打字稿项目结构:

--workflows
    |--app1
         |--src
    |--app2
         |--src

我正在尝试运行更漂亮,但我只想在 app1 上运行。

我尝试过这样的事情:

prettier --write \"workflows/app1/**/*.{js, ts}\"

这不会返回任何文件。

但是如果我运行这样的东西:

prettier --write \"workflows/**/*.{js, ts}\"

它返回工作流目录下的所有文件。

我做错了什么?如何让它只为 app1 下的文件运行?

【问题讨论】:

  • 试试不转义引号,即prettier --write "workflows/app1/**/*.{js, ts}"。转义引号实际上将它们包含在路径中。
  • @Steve 我不能。我正在将它写在 package.json 文件中。像这样的东西 "scripts": { "review": "prettier --write \"workflows/app1/**/*.{js, ts}\"" } 如果删除转义符,它会开始出错
  • 啊,有道理。由于它在 JSON 中,它实际上是在没有转义引号的情况下运行它。在我看来它应该可以正常运行。
  • 它在不使用引号的情况下工作更漂亮 --write workflows/app1/**/*.{js, ts}

标签: javascript typescript glob prettier


【解决方案1】:

不使用引号也能正常工作

prettier --write workflows/app1/**/*.{js, ts} 

Json 看起来像这样:

"scripts": {
    "review": "prettier --write workflows/app1/**/*.{js,ts}"
    }

【讨论】:

    【解决方案2】:

    根据文档,您可以在项目的根目录中使用 .prettierignore 文件:https://prettier.io/docs/en/ignore.html

    只需创建一个名为 .prettierignore 的文件并键入您要排除的目录:

    app2
    

    您还可以在 CLI 中使用 --ignore-path 选项

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-15
      • 2020-01-15
      • 1970-01-01
      • 2017-03-11
      • 1970-01-01
      相关资源
      最近更新 更多