尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

如何安装并加载 Prettier 插件,让 Prettier 格式化 PHP 等核心包之外支持的语言

如何安装并加载 Prettier 插件,让 Prettier 格式化 PHP 等核心包之外支持的语言 如何安装并加载 Prettier 插件让 Prettier 格式化 PHP 等核心包之外支持的语言【免费下载链接】prettierPrettier is an opinionated code formatter.项目地址: https://gitcode.com/gh_mirrors/pr/prettierPrettier 核心prettier包内置了 JavaScript 及其他 Web 相关语言PHP、Pug、Ruby、XML 等语言不在其中。要让 Prettier 格式化这些语言需要安装并加载对应的插件比如 PHP 对应官方插件prettier/plugin-php官方插件列表还包括prettier/plugin-pug、prettier/plugin-ruby、prettier/plugin-xml见 docs/plugins.md。本文的任务路径是安装 Prettier 与插件包 → 用 CLI、配置文件或 API 三种方式之一加载插件 → 用--check等文档给出的方式验证加载和格式化是否生效。准备锁定版本安装 Prettier先在项目中本地安装 Prettier安装文档给出的 npm 命令如下docs/install.mdnpm install --save-dev --save-exact prettier%PRETTIER_VERSION%其中%PRETTIER_VERSION%是官方文档构建时注入的版本占位符需要替换成你要锁定的 Prettier 实际版本号。这条命令的关键点是--save-exact文档明确提醒Prettier 每个版本都可能改变格式化结果package.json里必须锁定精确版本。如果本地没安装就直接运行npx prettiernpx会临时下载最新版文档称这不是一个好主意也更慢。yarn、pnpm、bun、deno 的等价命令见 docs/install.md。安装插件包Prettier 插件是普通的 JavaScript 模块传给 Prettier 的插件字符串最终会通过import()表达式解析因此可以是模块/包名、路径或import()能接受的任意值docs/plugins.md。这意味着插件包需要先安装到项目中才能按包名被import。以 npm 为例安装命令的写法和上面 Prettier 的安装方式一致npm install --save-dev --save-exact prettier/plugin-php方式一主路径CLI 通过--plugin加载最直接的方式是在命令行上指定插件docs/plugins.mdprettier --write example.php --pluginprettier/plugin-php注意--write会原地重写覆盖目标文件。如果需要同时加载多个插件--plugin可以设置多次。方式二在配置文件中声明plugins如果你希望编辑器集成和其他工具也能感知插件可以把它写进 Prettier 配置文件。文档给出的示例是prettier.config.mjsdocs/plugins.mdimport * as prettierPluginPhp from prettier/plugin-php; /** * see https://prettier.io/docs/configuration * type {import(prettier).Config} */ const config { plugins: [prettierPluginPhp], }; export default config;配置文件按优先级解析的方式.prettierrc、prettier.config.js等见 docs/configuration.md。如果你正在本地开发一个插件也可以用相对路径加载——插件会相对当前工作目录解析plugins: [./index.js],方式三通过 API 的plugins选项以编程方式调用时通过plugins选项传入插件模块docs/plugins.mdimport * as prettierPluginPhp from prettier/plugin-php; await prettier.format(code, { parser: php, plugins: [prettierPluginPhp], });验证插件已生效文档给出了两种可核对的判断方式。用--check看格式检查结果。--check只检查文件是否已格式化、不覆盖文件适合放在 CI 中prettier . --check文档示例输出docs/cli.md全部文件已格式化时输出Checking formatting... All matched files use Prettier code style!有文件需要重新格式化时会列出文件并提示Code style issues found in ... files. Run Prettier with --write to fix此时退出码为1退出码含义0全部已格式化1存在未格式化文件2Prettier 本身出错。用getFileInfo确认插件提供的解析器。docs/api.md 说明在options.plugins(string | URL | Plugin)[]中提供插件路径可以帮助为 Prettier 核心不支持的文件推断出inferredParser。也就是说对example.php调用prettier.getFileInfo并传入 PHP 插件时返回对象的inferredParser不再是null说明该文件的语言已由插件接管。边界与限制插件对目录扫描的作用Prettier CLI 处理目录参数时基于文件扩展名和 Prettier 及其插件关联的支持语言来查找文件docs/cli.md。不加载插件时.php文件对 CLI 来说是未知文件加载后才会被目录扫描识别。缓存注意使用--cache时插件的版本和实现不参与缓存 key文档建议在更新插件后手动删除缓存docs/cli.md。旧的 Custom parser API 已在 v3.0.0 移除之前通过--parser传解析模块路径的写法需要迁移为--pluginCLI 选项或pluginsAPI 选项docs/api.md。【免费下载链接】prettierPrettier is an opinionated code formatter.项目地址: https://gitcode.com/gh_mirrors/pr/prettier创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表