그저 내가 되었고
🫧TS:: import 에러 발생시 본문
✔︎상황::
import cors from "cors";
이렇게 모듈 가져오면서 아래 오류와 맞닥뜨림..
✔︎에러::
This module is declared with using 'export =', and can only be used with a default import when using the 'esModuleInterop' flag.
✔︎발생 원인::
cors는 CommonJS 스펙의 require를 사용.
따라서, 위 코드와 같이 CommonJS 모듈을 ES6 모듈 코드베이스로 가져오려고 할 때 문제가 발생함.
이때 esModuleInterop 속성이 위의 코드 처럼 true로 설정될 경우, ES6 모듈 사양을 준수하여 CommonJS 모듈을 가져오게 함.
이렇게되면 아래와 같이 정상적으로 코드가 트랜스파일링 되며, 문제 없이 import 하는 것이 가능함.
app.ts
import cors from "cors";
app.use(cors({
origin: '*',
}));
app.js
const cors_1 = __importDefault(require("cors"));
✔︎해결법::
tsconfig.json 수정이 필요합니당
"esModuleInterop": true 추가 ㄱㄱ
{
"compilerOptions": {
...
esModuleInterop": true,
...
};
}
'개발 > TypeScript' 카테고리의 다른 글
🫧TS:: AWS 배포하다가 때려잡은 에러 10개 정리.....(ㅎr) (0) | 2023.01.16 |
---|---|
🫧TS:: TS 프로젝트 깃허브에 올릴 때 컴파일된 JS파일은 어떻게 제외하지?🤔 (0) | 2023.01.15 |
🫧TS:: Object is possibly 'null' 에러 발생시 (0) | 2023.01.14 |
🫧TS:: Cannot destructure property 에러 발생시 (0) | 2023.01.14 |
🫧TS:: NodeJS + Express로 서버 만들기 (0) | 2023.01.13 |