View

반응형

기존 commonJS 모듈방식을 사용하다 ES module 방식으로 바꾸게되면 많은 에러를 만나게된다.

 

 

ES module 방식은 import/export 구문을 사용할 수 있게 해준다.

원래도 import/export 방식을 사용했다고해서 ES module 시스템을 사용하는 것은 아닐 수 있다.

 

마침 이번 feconf 에서 토스팀의 박서진 개발자님이 이 주제로 연사를 한 내용이 있어 첨부한다.

https://youtu.be/mee1QbvaO10

 

esm방식을 사용하기 위해선

package.json 파일에 모듈선언을 해야한다.

 

{
	"type": "module"
}
{
	"type": "commonjs"
}

타입 선언을 하고나면 현재 package.json 파일을 기준으로 하위에 있는 파일은 선언한 방식을 사용하게된다.

 

 

type: module

기존에 사용하던 module.exports 방식의 구문은 더이상 사용할 수 없게되는데

이때 __dirname 으로 사용되는 코드가 undefined 값이 나오는 것을 확인할 수있다.

 

import path from 'path;

const __dirname = path.resolve();

commonJS에서 사용되는 __dirname 변수가 esm에는 없기때문인데 위와 같이 import해서 사용하면 간단히 해결된다.

 

반응형
Share Link
댓글
반응형
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31