[개정판] ES 모듈 형태 전환 후 import 안되는 상황
매우 잘 정리된 책으로 배우고 있습니다.
그러던 중 22장 22.4.1 기존 코드 ES Module 형태로 바꾸기에서 테스트 하던 중 오류가 발생을 했는데, 정확히 무엇이 문제인지 확인이 되지 않아 질문을 남깁니다.
node version : 13.8.0
package.json --> type: "module" 추가
src/api/posts/index.js -> 책 내용과 동일하게 작성
src/api/index.js -> 문제 없음
import Router from 'koa-router';
import posts from './posts';
const api = new Router();
api.use('/posts', posts.routes());
export default api;
src/index.js (main.js를 index.js로 파일명 변경)
import api from './api' // 여기에서 아래와 같은 오류 발생
Error: Cannot find module D:\02.dev\99.test\blog_1\blog_backend\src\api imported from D:\02.dev\99.test\blog_1\blog_backend\src\index.js
at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:58:13)
at Loader.resolve (internal/modules/esm/loader.js:85:40)
at Loader.getModuleJob (internal/modules/esm/loader.js:188:40)
at ModuleWrap.
검색을 통해 여기저기 찾아 보았지만 해결책을 찾지 못했습니다. 도움 부탁 드립니다.
Node.js v12부터 ES Module 정식지원이라는 부분에서 저는 type 키에 module이 아니라 export 값을 지정하고 esm 설치, -r esm src/index.js , .eslintrc.json을 다 설정해 주어야 됩니다.
대신 main.js으로 변경하고 index.js부분은 사용하지 않았네요 사용해도 되고 , 안해도 되는 것으로 보입니다.
https://github.com/velopert/learning-react/blob/master/corrections.md#224-pg-646-%EC%A0%95%EC%A0%95