【问题标题】:Exclude a folder from glob pattern matching从 glob 模式匹配中排除文件夹
【发布时间】:2017-12-09 00:24:32
【问题描述】:

使用Prettier格式化js代码。 Prettier 似乎在后台使用globby

我尝试了以下方法:

$ prettier './**/*.{js, css}' '!assets/**'
$ prettier './**/*.{js, css}' '!(assets/**)'
$ prettier './**/*.{js, css}' '!assets/**/*.*'
$ prettier './**/*.{js, css}' '!(assets/**/*.*)'
$ prettier './**/*.{js, css}' 'assets/**/!*.*'

在所有情况下,assets 文件夹中的文件都包括在内。

这样做的正确方法是什么?

【问题讨论】:

    标签: javascript glob prettier


    【解决方案1】:

    您现在可以排除带有! 字符的目录。例如,此命令将就地格式化所有 .js.css 文件,不包括 assets 目录中的任何内容。

    "prettier --write **/*.{js, css} !assets/**"
    

    【讨论】:

      【解决方案2】:

      Here's the PR 合并的地方。 Here's the syntax。这是我在package.json 中所做的工作:

      
      "prettier-fix": "prettier --write \"**/*.{js,jsx,json,ts,tsx,md,mdx,css,html,yml,yaml,scss}\" \"!\\.next/**\""
      

      检查除.next 目录之外的所有匹配项。注意引号。

      【讨论】:

      • 对于任何使用 "prettier": "^2.0.5" 的 create-react-app 项目并希望排除构建文件夹的人,这里是一个工作脚本:"format": "prettier --write \"**/*.{js,jsx,json,css,html}\" \"!build/**\""
      【解决方案3】:

      目前不可能。 但已经修复了https://github.com/prettier/prettier/pull/2356。等新版本吧。

      【讨论】: