터미널> yarn add esm
// src/index.js
// 이 파일에서만 no-global-assign ESLint 옵션 비활성화
/* eslint-disable no-global-assign */
import * as esm from '/esm';
export * from './main.js';
{
...,
"scripts": {
"start": "node src",
"start:dev": "nodemon --watch src/ src/index.js"
},
"type": "module"
}
{
...,
"parserOptions": {
"ecmaVersion": 2018,
"sourceType": "module"
},
...
}
import Router from 'koa-router';
import * as postsCtrl from './posts.ctrl.js';
...
export default posts;
import Router from 'koa-router';
import posts from './posts/index.js';
/*
🌟 import 시 확장자를 다 써줘야해서
🌟 원래는 './posts'까지만 써도 index가 바로 참조가 되지만
🌟 여기서는 내부 '/index.js'까지도 써줘야함!!
*/
...
export default api;
import dotenv from 'dotenv';
dotenv.config();
import Koa from 'koa';
import Router from 'koa-router';
import bodyParser from 'koa-bodyparser';
import mongoose from 'mongoose';
import api from './api/index.js';
...
{
"compilerOptions": {
"target": "ES6",
"module": "es2015"
},
"include": ["src/**/*"]
}
정말 좋은 정보 감사합니다!