忽略程式碼
使用 .prettierignore
可以完全忽略(即不重新格式化)某些檔案和資料夾。
使用「prettier-ignore」註解可以忽略檔案的某些部分。
忽略檔案:.prettierignore
要排除檔案格式化,請在專案的根目錄建立一個 .prettierignore
檔案。 .prettierignore
使用 gitignore 語法。
範例
# Ignore artifacts:
build
coverage
# Ignore all HTML files:
**/*.html
建議您的專案中包含 .prettierignore
檔案!這樣您可以執行 prettier --write .
來確保所有內容都已格式化(而不會破壞您不想格式化的檔案,或因產生的檔案而窒息)。而且,您的編輯器會知道哪些檔案*不*需要格式化!
預設情況下,Prettier 會忽略版本控制系統目錄(".git"、".sl"、".svn" 和 ".hg")和 node_modules
中的檔案(除非指定了 --with-node-modules
命令列選項)。如果 ".gitignore" 檔案存在於 Prettier 執行的目錄中,Prettier 也會遵循其中指定的規則。
因此,預設情況下會是
**/.git
**/.svn
**/.hg
**/node_modules
和
**/.git
**/.svn
**/.hg
如果提供了 --with-node-modules
命令列選項
(另請參閱 --ignore-path
命令列選項。)
JavaScript
JavaScript 註解 // prettier-ignore
將會排除抽象語法樹中的下一個節點,使其不被格式化。
例如
matrix(
1, 0, 0,
0, 1, 0,
0, 0, 1
)
// prettier-ignore
matrix(
1, 0, 0,
0, 1, 0,
0, 0, 1
)
將會被轉換成
matrix(1, 0, 0, 0, 1, 0, 0, 0, 1);
// prettier-ignore
matrix(
1, 0, 0,
0, 1, 0,
0, 0, 1
)
JSX
<div>
{/* prettier-ignore */}
<span ugly format='' />
</div>
HTML
<!-- prettier-ignore -->
<div class="x" >hello world</div >
<!-- prettier-ignore-attribute -->
<div
(mousedown)=" onStart ( ) "
(mouseup)=" onEnd ( ) "
></div>
<!-- prettier-ignore-attribute (mouseup) -->
<div
(mousedown)="onStart()"
(mouseup)=" onEnd ( ) "
></div>
CSS
/* prettier-ignore */
.my ugly rule
{
}
Markdown
<!-- prettier-ignore -->
Do not format this
區間忽略
v1.12.0+ 版本可用
這種類型的忽略只允許在頂層使用,旨在停用自動產生內容的格式化,例如 all-contributors
、markdown-toc
等。
<!-- prettier-ignore-start -->
<!-- SOMETHING AUTO-GENERATED BY TOOLS - START -->
| MY | AWESOME | AUTO-GENERATED | TABLE |
|-|-|-|-|
| a | b | c | d |
<!-- SOMETHING AUTO-GENERATED BY TOOLS - END -->
<!-- prettier-ignore-end -->
YAML
要忽略 YAML 檔案的一部分,應將 # prettier-ignore
放在要忽略節點正上方的行。
# prettier-ignore
key : value
hello: world
GraphQL
{
# prettier-ignore
addReaction(input:{superLongInputFieldName:"MDU6SXNzdWUyMzEzOTE1NTE=",content:HOORAY}) {
reaction {content}
}
}
Handlebars
{{! prettier-ignore }}
<div>
"hello! my parent was ignored"
{{#my-crazy-component "shall" be="preserved"}}
<This
is = "also preserved as is"
/>
{{/my-crazy-component}}
</div>
命令列檔案樣式
對於一次性命令,當您想排除某些檔案而不將它們添加到 .prettierignore
時,負面樣式會很方便。
prettier . "!**/*.{js,jsx,vue}" --write
參考 fast-glob 以了解更多進階 glob 語法。