티스토리 뷰

반응형

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

요즘 NextJS 환경의 FE 개발 뿐 아니라, Express 환경의 BE개발도 병행하고 있는데, FE 프로젝트 내에서는 모듈 호출 시 require문을 사용하면 ESLint 경고가 나오고, BE 프로젝트에서는 require구문을 사용한다. 왜 차이가 나는건지 궁금하여 정리해본다.


EsLint에서 require를 import로 변경하라는 경고를 출력하는 이유

브라우저 환경에서는 ES6 모듈 시스템의 import/export 구문을 사용하는 것이 더욱 모던하고 선호되는 방법이기 때문이다.

그러나 Node.js에서는 CommonJS 스타일의 모듈 시스템인 require를 사용하는 것이 일반적이다. Node.js 환경에서는 import/export 구문도 지원되지만, 아직 많은 코드베이스가 require를 사용하고 있기 때문에 require를 사용하는 것이 바람직한 경우도 있다.

즉,

  • FE 시스템 프로젝트를 포함한 대부분의 프로젝트에서 ES6 이상의 모던한 JS 스타일이 권장되고,
  • Express와 같은 NodeJS에서는 많은 코드베이스가 CommonJS 스타일을 사용하고 있기 때문에 ComonJS 스타일을 사용하는 것이 바람직하다.

짧게 요약하자면 NodeJS가 require 구문을 사용하는 CommonJS 베이스로 되어있기 때문이다!

 

반응형

'Javascript와 Typescript' 카테고리의 다른 글

Javascript Numeric Separators  (0) 2024.12.02
ECMAScript 버전별 특징  (0) 2024.11.30
window 객체  (1) 2024.11.19
window.d.ts란 무엇일까?  (0) 2024.11.18
ENUM vs. const  (0) 2024.11.15
Total
Today
Yesterday
반응형