ESLint:无法启动语言服务进程/HLS .ts 扩展问题
ESLint: Cannot start language service process / problem with HLS .ts extension
重要提示:请参阅下面提供重要信息的更新编辑
当我使用 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/cli@12.2.6 (global install)
Angular 12.2.0
eslint 7.26.0 (installed by the above `ng add` command)
更新编辑:
好的,我终于有线索可以继续了!我有一个目录如下:
/src/assets/test-videos
此文件夹包含一堆 HLS 流式视频。 HLS 视频块/片段具有 .ts 扩展名。 .ts 扩展名是 HLS 块的标准扩展名,但它们似乎导致 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 文件以使用非标准扩展名,但我不想这样做。有任何想法吗?非常感谢
看起来 .eslintignore
中的设置只影响错误报告,而 tsconfig.json
中的设置影响解析。将 "exclude": ["src/assets/test-videos"]
添加到根 tsconfig.json
应该会有所帮助。
我已经验证,当 运行 eslint 在终端中使用 eslint src/**/*.*
时,它的工作原理相同 - 如果文件未在 tsconfig.json
中排除,ESLint 内存不足
@lena 一整天都在帮我解决这个问题!非常感谢@lena
只是想添加最终解决方案。
在.eslintrc.json
我补充说:
"ignorePatterns": [
"src/assets/test-videos/**/*"
]
在tsconfig.json
我补充说:
"exclude": [
"src/assets/test-videos",
"dist"
]
所有这些更改都是修复所必需的。删除其中任何一个都会导致 eslint 失败。
请注意,dist 文件夹是在构建之后生成的,并且在我也将其排除之前也停止了 eslint 的工作。
失去了一天,但吸取了教训!
顺便说一句,虽然这影响了 WebStorm,但它不是由 WebStorm 引起的,因为 ng lint
也失败了。 ng lint
开始工作后,WebStorm 也开始工作。
重要提示:请参阅下面提供重要信息的更新编辑
当我使用 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/cli@12.2.6 (global install)
Angular 12.2.0
eslint 7.26.0 (installed by the above `ng add` command)
更新编辑:
好的,我终于有线索可以继续了!我有一个目录如下:
/src/assets/test-videos
此文件夹包含一堆 HLS 流式视频。 HLS 视频块/片段具有 .ts 扩展名。 .ts 扩展名是 HLS 块的标准扩展名,但它们似乎导致 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 文件以使用非标准扩展名,但我不想这样做。有任何想法吗?非常感谢
看起来 .eslintignore
中的设置只影响错误报告,而 tsconfig.json
中的设置影响解析。将 "exclude": ["src/assets/test-videos"]
添加到根 tsconfig.json
应该会有所帮助。
我已经验证,当 运行 eslint 在终端中使用 eslint src/**/*.*
时,它的工作原理相同 - 如果文件未在 tsconfig.json
中排除,ESLint 内存不足
@lena 一整天都在帮我解决这个问题!非常感谢@lena
只是想添加最终解决方案。
在.eslintrc.json
我补充说:
"ignorePatterns": [
"src/assets/test-videos/**/*"
]
在tsconfig.json
我补充说:
"exclude": [
"src/assets/test-videos",
"dist"
]
所有这些更改都是修复所必需的。删除其中任何一个都会导致 eslint 失败。
请注意,dist 文件夹是在构建之后生成的,并且在我也将其排除之前也停止了 eslint 的工作。
失去了一天,但吸取了教训!
顺便说一句,虽然这影响了 WebStorm,但它不是由 WebStorm 引起的,因为 ng lint
也失败了。 ng lint
开始工作后,WebStorm 也开始工作。