angular - ESLint:无法启动 HLS .ts 扩展名的语言服务进程/问题

标签 angular webstorm eslint http-live-streaming angular-eslint

重要提示:请参阅下面的更新编辑,其中提供了重要信息

使用 Angular 时,我不断在 WebStorm 2021.2.2(和其他最新版本)中显示此错误:

ESLint: Cannot start language service process

见下面的截图

所有 .ts 文件都会报告类似的错误:

ESLint: Can not get result from language service

我尝试通过创建一个新的 Angular 项目来重现该问题,如下所示:

ng new video-and-event-listeners-test --style=scss --routing=true
cd video-and-event-listeners-test/
ng add @angular-eslint/schematics --skip-confirmation

最初一切正常,但后来错误返回,我无法摆脱它。我在每个项目中都有这个错误(我的项目都包含 HLS 文件 - 请参阅下面的编辑)。 ng lint 命令只是挂起。当您运行代码检查时,WebStorm 就会失败。有什么想法可以解决这个问题(而不只是禁用 eslint)吗?没有 eslint 的工作就像没有铲子挖洞:(

相关软件其他版本:

Node.js version 14.17.3
@angular/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="dfbcb3b69feeedf1edf1e9" rel="noreferrer noopener nofollow">[email protected]</a> (global install)
Angular 12.2.0
eslint 7.26.0 (installed by the above `ng add` command)

更新编辑:

好吧,我终于有线索了!我有一个目录如下:

/src/assets/test-videos

此文件夹包含一堆 HLS 流媒体视频。 HLS 视频 block /片段的扩展名为 .ts。 .ts 扩展名是 HLS block 的标准扩展名,但它们似乎会导致 ESLint 失败(因为 ESLint 正在检查 .ts 文件)。如果我删除整个文件夹,ESLint 就会开始工作!当我恢复文件夹时,ESLint 停止工作。

因此,我尝试通过在项目根目录中添加一个 .eslintignore 文件来忽略该文件夹,其内容如下:

src/assets/test-videos/**/*
/src/assets/test-videos/**/*
./src/assets/test-videos/**/*

src/assets/test-videos/*
/src/assets/test-videos/*
./src/assets/test-videos/*

src/assets/test-videos/
/src/assets/test-videos/
./src/assets/test-videos/

src/assets/test-videos
/src/assets/test-videos
./src/assets/test-videos

test-videos/**/*

此外,我还在 .eslintrc.json 中添加了以下条目

{
  "root": true,
  "ignorePatterns": [
    "projects/**/*",
    "src/assets/test-videos/**/*"
  ],
  etc
}

但仍然没有雪茄。如果问题目录不删除,ESLint 就无法工作!我想我可以重命名所有 HLS 文件以使用非标准扩展名,但我不愿意。有任何想法吗?非常感谢

enter image description here

最佳答案

看起来就像 .eslintignore 中的设置仅影响错误报告,而 tsconfig.json 中的设置影响解析。添加"exclude": ["src/assets/test-videos"]到根tsconfig.json应该有帮助。

我已经验证在终端中使用 eslint src/**/*.* 运行 eslint 时它的工作原理是相同的- 如果文件未排除在 tsconfig.json 中, ESLint 内存不足

关于angular - ESLint:无法启动 HLS .ts 扩展名的语言服务进程/问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69282492/

相关文章:

typescript - @typescript-eslint/naming-convention @emotion 样式文件的自定义配置

javascript - 在 angular/ngrx 应用程序中将状态保存到本地存储的逻辑放在哪里

javascript - 在 Angular 2 中渲染 View 之前等待数据

javascript - 添加 Font Awesome 图标

angular - 类型 'catchError' 上不存在属性 'Observable<HttpEvent<any>>'

reactjs - Eslint (Airbnb) 与 React 代码 (JSX) 的缩进问题

node.js - 如何在箭头函数中设置断点

javascript - WebStorm 错误 : expression statement is not assignment or call

webstorm - 使 Webstorm 使用单引号更漂亮

typescript - Eslint 不使用 TypeScript 语法