`npx prettier --write . --end-of-line lf` 是一条用于**格式化代码**的命令

命令拆解与核心作用

npx prettier --write . --end-of-line lf 是一条用于格式化代码 的命令,核心作用是:通过 Prettier(主流的代码格式化工具)自动格式化当前目录及所有子目录下的代码文件,并强制将文件的换行符统一为 LF(Line Feed,换行)格式。

逐部分解析

1. npx
  • 是 npm 5.2+ 内置的包执行工具,无需全局安装 Prettier,直接从 npm 仓库临时下载(或使用本地已安装的)Prettier 并执行。
  • 优势:避免全局安装的版本冲突,确保使用项目本地(node_modules)或最新兼容版本的 Prettier。
2. prettier
  • 核心工具:Prettier 是一个"有主见的"代码格式化工具,支持 JavaScript/TypeScript、CSS/LESS/SCSS、HTML、JSON、Markdown 等几乎所有前端主流文件格式,能统一团队代码风格。
3. --write .
  • --write:核心参数,意为"写入格式化后的内容到文件"(而非仅在终端预览格式化结果)。
  • .:指定格式化的目标路径为当前目录 (包含所有子目录),也可指定具体文件/目录(如 --write src/ 仅格式化 src 目录)。
    • 对比:若省略 --write,Prettier 仅会在终端输出格式化后的代码,不会修改原文件。
4. --end-of-line lf
  • --end-of-line:指定文件的换行符格式,强制覆盖 Prettier 配置文件(如 .prettierrc)中的 endOfLine 配置。
  • lf:换行符类型为 LF (Unix/Linux/macOS 系统默认换行符),可选值还有:
    • crlf:回车+换行(Windows 系统默认);
    • cr:仅回车(极少使用);
    • auto:根据系统自动适配(不推荐团队协作使用,易导致换行符不一致)。

核心使用场景

  1. 统一团队换行符规范
    跨系统开发时(Windows + macOS/Linux),不同系统默认换行符不同,强制 lf 可避免 Git 提交时因换行符差异产生的"无意义修改"(如文件全量标红)。
  2. 批量格式化代码
    首次接入 Prettier 时,一键格式化整个项目的所有文件,快速统一代码风格。
  3. 临时覆盖配置
    若项目 .prettierrc 中配置的 endOfLine 不符合需求(如配置为 auto),可通过该命令临时强制使用 lf,无需修改配置文件。

补充说明

  1. 忽略文件
    Prettier 会自动读取项目中的 .prettierignore 文件(语法同 .gitignore),忽略指定文件/目录(如 node_modules/dist/),不会格式化这些内容。
  2. 优先级
    命令行参数(如 --end-of-line lf)的优先级高于 Prettier 配置文件(.prettierrc/package.json 中的 prettier 字段)。
  3. 常见问题
    • Windows 系统执行后换行符仍为 CRLF:需确保 Git 配置 core.autocrlf=false(避免 Git 自动转换换行符);
    • 部分文件未格式化:检查 .prettierignore 是否包含该文件,或 Prettier 是否支持该文件类型(可通过 prettier --list-different . 查看未格式化的文件)。

简化/扩展用法

  • 仅检查未格式化的文件(不修改):npx prettier --check . --end-of-line lf
  • 仅格式化指定类型文件:npx prettier --write "src/**/*.js" --end-of-line lf
  • 结合配置文件(推荐):在 .prettierrc 中配置 "endOfLine": "lf",后续只需执行 npx prettier --write . 即可。
相关推荐
小小码农一只1 小时前
Spring WebFlux与响应式编程:构建高效的异步Web应用
java·前端·spring·spring webflux
北极糊的狐1 小时前
使用 vue-awesome-swiper 实现轮播图(Vue3实现教程)
前端·javascript·vue.js
W.Y.B.G1 小时前
vue3项目中集成高德地图使用示例
前端·javascript·网络
王兆龙1681 小时前
简易版增删改查
前端·vscode·vue
pan3035074791 小时前
Tailwind CSS 实战
前端·tailwind
_lst_1 小时前
系统环境变量
前端·chrome
哈哈~haha1 小时前
ui5_Walkthrough_Step 4: XML 视图
xml·前端
江公望1 小时前
CSS variable 10分钟讲清楚
前端·css
YAY_tyy1 小时前
基于矩形区域的相机自动定位与飞行控制实现
前端·javascript·3d·cesium