什么是prettier的glob 模式

什么是prettier的glob 模式?

Prettier 使用 glob 模式(或称 glob patterns)来指定需要格式化的文件集。Glob 模式是一种简洁的字符串表达式,用于匹配一组符合特定规则的文件路径。这种模式广泛应用于各种文件查找、过滤和操作场景,包括构建工具、代码 linting 工具、文件系统操作库等。在 Prettier 的上下文中,glob 模式用于定义哪些文件应当被 Prettier 自动格式化。

Glob 模式包含一些特殊字符和通配符,用于表示文件路径的不同部分和可能的变化。以下是一些常见的 glob 模式符号及其含义:

(星号):匹配任何非斜杠 (/) 字符序列。例如,.js 匹配所有以 .js 结尾的文件名,如 index.js、app.js 等。

(双星号):递归匹配任意深度的子目录。例如,/*.js 匹配当前目录及其所有子目录下的所有 .js 文件。

?(问号):匹配任何单个字符。例如,file?.js 匹配 file.js、fil.js、fie.js 等。

[…](方括号):匹配括号内的任何一个字符或字符范围。例如,image-[1-9].jpg 匹配 image-1.jpg 到 image-9.jpg;example.[txt|md] 匹配 example.txt 和 example.md。

{…}(花括号):用于列出多个互斥的选择项,匹配其中一个。例如,{a,b,c}.txt 匹配 a.txt、b.txt 或 c.txt。

!(感叹号):用于否定前面的模式,排除匹配到的文件。通常放在模式前面,与 等配合使用。例如,!/tests/* 会排除所有 tests 目录下的文件。

在 Prettier 的配置文件(如 .prettierrc.js、.prettierrc.json 或 package.json 中的 prettier 字段)中,您可以使用 overrides 部分来定义包含 glob 模式的对象,从而指定特定文件或文件集的格式化规则。例如:

// .prettierrc.js 或 .prettierrc.json
module.exports = {
  overrides: [
    {
      files: ['src/**/*.ts', '!src/**/__tests__/*.ts'], // 匹配 src 下所有 .ts 文件,但排除 __tests__ 目录内的 .ts 文件
      options: {
        // 对这些文件的特定格式化规则
      },
    },
  ],
};

通过 glob 模式,Prettier 可以灵活地处理项目中不同类型的文件,确保仅对需要格式化的文件应用规则,同时避免对不应格式化的文件(如第三方库、特定测试文件等)造成影响。这对于大型项目或具有复杂目录结构的项目尤其重要,有助于确保代码风格的一致性和可维护性。

相关推荐

  1. 什么prettierglob 模式

    2024-04-27 03:16:02       16 阅读
  2. glob模块

    2024-04-27 03:16:02       18 阅读
  3. 什么reactor模式

    2024-04-27 03:16:02       39 阅读
  4. 什么设计模式

    2024-04-27 03:16:02       20 阅读
  5. 什么设计模式

    2024-04-27 03:16:02       20 阅读
  6. 什么适配器模式

    2024-04-27 03:16:02       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-27 03:16:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-27 03:16:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-27 03:16:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-27 03:16:02       20 阅读

热门阅读

  1. 【DataGrip】 sql语句:模糊搜索

    2024-04-27 03:16:02       14 阅读
  2. 删除有序序列中的重复项 python

    2024-04-27 03:16:02       14 阅读
  3. Jammy@Jetson Orin - Tensorflow & Keras Get Started

    2024-04-27 03:16:02       13 阅读
  4. 面试题:判断一个完全平方数

    2024-04-27 03:16:02       15 阅读
  5. Ali-Sentinel-入口控制

    2024-04-27 03:16:02       14 阅读
  6. SQL数据更新

    2024-04-27 03:16:02       12 阅读
  7. Vue-3

    Vue-3

    2024-04-27 03:16:02      11 阅读
  8. C# 面向对象编程(一)——类 第三篇

    2024-04-27 03:16:02       13 阅读
  9. DataGridView控件

    2024-04-27 03:16:02       13 阅读
  10. Redis的单线程模型解析与应用实践

    2024-04-27 03:16:02       12 阅读
  11. 基于nest框架的redis streams实现mq(bullmq)

    2024-04-27 03:16:02       15 阅读
  12. 面试经典150题——分发糖果

    2024-04-27 03:16:02       12 阅读