도우미 함수를 아직 가져오지 않은 경우 가져오기 선언 추가: 사용자 정의 ESLint 규칙 수정으로 향상된 솔루션
P粉312195700
P粉312195700 2024-03-28 09:26:00
0
2
280

변수 함수 호출, 특히 foo.value.toString() 来使用辅助函数 getStringValue(foo) 。如果我找到它,我可以使用修复程序替换 CallExpression 노드의 텍스트를 대체하려는 사용 사례가 있으므로 현재 규칙 수정 사항은 다음과 같습니다.

으아악

이 오류를 이런 식으로 자동으로 수정할 때의 문제는 getStringValue 파일을 가져올 수도 있고 가져오지 않을 수도 있다는 것입니다. 이 수정 사항이 다음과 같이 작동하기를 바랍니다.

  1. 해당 기능을 이미 파일로 가져온 경우에는 다른 작업을 수행할 필요가 없습니다.
  2. 함수를 가져오지 않았지만 포함된 파일 모듈을 가져온 경우 이 함수를 모듈 가져오기에 추가하세요.
  3. 함수와 해당 함수가 포함된 파일 모듈을 모두 가져오지 않은 경우 함수와 함께 모듈을 가져옵니다.

문서에서 제가 이해한 한, fixercontext 对象访问根 ESTree 节点。最接近的是 SourceCode.getText()를 사용하여 이 작업을 수행하는 쉬운 방법은 없습니다. 즉, 가져오기를 구문 분석하려면 소스 텍스트를 구문 분석해야 함을 의미합니다. 전체 AST와 직접 상호 작용하는 편이 낫습니다. 이 자동화된 가져오기 프로세스를 수행하는 가장 좋은 방법은 무엇입니까?

P粉312195700
P粉312195700

모든 응답(2)
P粉596161915

여기서 약간 위험을 감수하려면 사용자가 파일에서 로컬로 getStringValue 함수를 재정의하지 않았다고 가정할 수 있습니다(일반적으로 이 규칙이 적용되는 코드베이스를 소유한 경우 안전한 가정입니다).

이 경우 가장 좋은 방법은 선택기를 사용하여 가져오기를 확인하는 것입니다. 예:

으아아아
P粉098979048

알고 보니 context 对象中提取 AST 根节点。它位于 context.getSourceCode().ast부터 쉽게 할 수 있는 방법이 있습니다. 다음 논리로 수정 사항을 다시 작성했습니다.

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!