微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何让 Prettier 忽略一段代码?

如何解决如何让 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-ignored 的事物中。

另一种选择是将您不想格式化的所有代码(例如,因为它是生成的)移动到由 .prettierignore 排除的单独文件中。

prettier-ignore-startprettier-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 举报,一经查实,本站将立刻删除。