"import statement.eslint[@typescript-eslint/no-var-requires]의 일부가 아닌 Require 문"수정

typescript 파일을 통해 ESLint를 실행하면 이 경고가 발생할 수 있습니다.

Require statement not part of import statement.eslint[@typescript-eslint/no-var-requires](https://typescript-eslint.io/rules/no-var-requires)


역사



ES2015 이후의 JavaScript는 언어 사양의 일부로 가져오기를 사용합니다. TypeScript는 필요에 따라 환경별 형식으로 컴파일합니다. 그 이유는 require([]) 및 require(””)가 환경에 따라 다르고 정적으로 분석하기가 더 어렵기 때문입니다.

심각성



이것은 대부분 구문 규칙입니다. TypeScript 모듈 구문에 관심이 없다면 이 규칙이 필요하지 않습니다.

해결 방법 1: 변수 제거



❌ 오답




var foo = require('foo');
const foo = require('foo');
let foo = require('foo');


✅ 올바른




import foo = require('foo');
require('foo');
import foo from 'foo';


해결 방법 2: 인스턴스 무시



해결 방법 2는 경고를 표시하는 파일 부분을 무시하도록 TS에 지시하는 반창고 솔루션입니다.

require 문 바로 앞에 다음 줄을 배치합니다.

/* tslint:disable no-var-requires */


해결 방법 3: 파일 수준에서 무시



파일 수준에서 var의 모든 인스턴스를 무시하십시오.

파일 맨 위에 아래 두 줄 중 하나를 배치합니다.

/* eslint @typescript-eslint/no-var-requires: "off" */


또는

/* eslint-disable @typescript-eslint/no-var-requires */


해결 방법 4: 프로젝트 수준에서 무시



변수의 모든 인스턴스를 무시하려면 사용법이 필요합니다.
eslintrc.js 파일에서 이를 비활성화하는 고유한 규칙을 만드십시오.

module.exports = {
  ...
  rules: {
    ...
    '@typescript-eslint/no-var-requires': 0,
  }
}


해피 에스린팅

좋은 웹페이지 즐겨찾기