인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

bee님의 프로필 이미지

작성한 질문수

탄탄한 백엔드 NestJS, 기초부터 심화까지

고양이 데이터 모킹하기

import * as express 질문

해결된 질문

작성

·

555

1

안녕하세요, 강의를 듣다 궁금한 점이 생겨 문의 남깁니다.

제가 예전에 듣던 express 강좌에서는 

const express = require("express");를 사용했었는데 강사님 강좌는 import * as express from 'express';로 위의 코드가 대체(?)된 것 같아서요. 혹시 두 코드의 차이점이 있을까요? 전자는 js를 사용하고 후자는 ts를 사용해서 차이가 있는 걸까요?

강의 잘 듣고 있습니다. 감사합니다.

답변 1

1

윤상석님의 프로필 이미지
윤상석
지식공유자

안녕하세요!

모듈을 import, export 하는 시스템을 모듈 시스템이라고 합니다. 

const express = require("express") 방식으로 express 모듈을 불러 오는 방식은 CommonJS 모듈 시스탬이고 import * as express from "express" 방식으로 express 모듈을 불러 오는 방식은 ECMAScript 모듈 시스템입니다.  자바스크립트의 실행기인 Node.js 에서는 기본적으로 CommonJS 문법을 사용합니다. 하지만 바벨 등 트랜스파일러 도구를 사용하여 ECMAScript 문법을 사용할 수 있습니다.

타입스크립트에서도 CommonJS 문법을 사용할 수 있지만 저희 강의에서는 ECMAScript 문법을 사용하여 컴파일 하는 방식을 사용한 것입니다!

두 모듈 시스템의 대표적인 차이점은 ECMAScript 모듈 시스템은 모듈을 비동기 방식으로 찾고 CommonJS 모듈 시스템은 동기 방식으로 모듈을 가져옵니다. 

bee님의 프로필 이미지
bee
질문자

답변 감사합니다! 늦었지만 새해 복 많이 받으세요 🙃

bee님의 프로필 이미지

작성한 질문수

질문하기