如何解决如何让 Prettier 忽略一段代码?
假设我们有一行代码:
const a = 'a'; const b = 'b';
我们不希望它被 Prettier 格式化。
到目前为止我尝试过的:
1)
// prettier-ignore
const a = 'a'; const b = 'b';
// prettier-ignore-start
const a = 'a'; const b = 'b';
// prettier-ignore-end
在这两种情况下,它都会变成:
const a = 'a';
const b = 'b';
那么如何忽略一段代码?
解决方法
// prettier-ignore
在这里不起作用的原因是 // prettier-ignore
将从格式中排除抽象语法树中的下一个节点(请参阅https://prettier.io/docs/en/ignore.html)。
在您的情况下,下一个节点只会是 const a = 'a';
。例如,
// prettier-ignore
const a =
'a';
格式化后会保留。
如果您想将两个分配放在一行中而不更改整个文件的漂亮配置,如果您使用的是 es6 或节点,则可以使用 destructuring assignment:
const [a,b] = ["a","b"];
,
有时可以将多个语句包装在一个块中,并在其前面加上 // prettier-ignore
:
// prettier-ignore
{
abcRouter('/api/abc',server);
xRouter ('/api/x',server);
}
当然,这对于块级 const
声明没有意义,但是您编写的那不是您的实际代码,只是一个示例。所以这是一个在某些情况下但并非在所有情况下都有效的解决方案。总体而言,该策略是将多个事物包装在一个可以prettier-ignore
d 的事物中。
另一种选择是将您不想格式化的所有代码(例如,因为它是生成的)移动到由 .prettierignore
排除的单独文件中。
prettier-ignore-start
和 prettier-ignore-end
支持 only in Markdown。
你可以忽略整个方法
// prettier-ignore
function myFunc() {
const a = 'a'; const b = 'b';
return a + b;
}
实际上我只试过打字稿。但我认为应该也适用于 JS。
,您可以忽略目前不支持的代码块,您的选择是仅使用 // prettier-ignore
示例如下:
// prettier-ignore
const a = 'a';
const b = 'b';
// prettier-ignore
function xyz() {
console.log({a,b})
}
已知问题 -> https://github.com/prettier/prettier/issues/5287
文档 -> https://prettier.io/docs/en/ignore.html#javascript
,对我有用的是使用这个
unique_key
这是用于 django 和 Vue CDN
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。