我try 在StackBlitz中使用prettier来以Angular 设置HTML的格式,但我遇到了以下错误:

错误:无法解析解析器"ANGING".解析器必须显式添加到独立包中.

我不确定到底少了什么.如有任何帮助,我们将不胜感激.

StackBlitz demo

我使用的代码如下:

import prettier from 'prettier';
import parserAngular from 'prettier/parser-angular';
console.clear();

console.log({ parserAngular }); // Checking existence.

const html = `
<span *ngIf="true">
  do {{ some | json: ja }} bla
</span>
`;

const output = prettier.format(html, {
  plugins: [parserAngular],
  parser: 'angular',
  singleQuote: true,
  arrowParens: 'always',
  semi: true,
  bracketSameLine: true,
  trailingComma: 'es5',
  printWidth: 140,
});
console.log(output);

推荐答案

您应该在插件数组中包括parser-html:

stackblitz

// Import stylesheets
import './style.css';
import prettier from 'prettier';
import parserAngular from 'prettier/parser-angular';
import parserHtml from 'prettier/parser-html';
console.clear();

console.log({ parserAngular });

// Write TypeScript code!
const appDiv: HTMLElement = document.getElementById('app');
appDiv.innerHTML = `<h1>TypeScript Starter</h1>`;

const html = `
<span *ngIf="true">
  do {{ some | json: ja }} bla
</span>
`;

const output = prettier.format(html, {
  plugins: [parserAngular, parserHtml],
  parser: 'angular',
  singleQuote: true,
  arrowParens: 'always',
  semi: true,
  bracketSameLine: true,
  trailingComma: 'es5',
  printWidth: 140,
});
console.log(output);

Angular相关问答推荐

cat Owl carousel 位置下一个和上一个图片

Angular :仅当 Select 第一个日期时才显示第二个日期字段

FormArray包含嵌套的FormGroups.如何访问嵌套的表单组控件?

为什么当我在父组件中设置数组元素时,Angular重新创建子组件而不是更新它?

有没有其他代码可以用函数的方式写成Angular ?

具有多个输入的Angular struct 指令在第一次加载构件时没有值

Angular 17-getEnvironment InjectorProviders出现异常

是否可以在Angular(12+)中迭代指定的范围而不是整个数组

Angular-每2个流式传输多个HTTP调用

如何在 Angular RxJS 中替换订阅中的 subscrib?

RxJS如何按顺序进行POST请求,只有在前一个完成后才会触发新的请求?

以 Angular 形式添加动态控件失败

Angular APP_INITIALIZER 中的 MSAL 身份验证

PrimeNG:如何以编程方式更改分页器中的选定页面?

显示 1 个数据而不是所有 ngFor - Angular 11

Angular 2:Validators.pattern() 不工作

Observable.forkJoin 和数组参数

从 angular2 模板调用静态函数

Angular 4中的md-select中的onselected事件

Angular 2 中的动态模板 URL