
logger.js
Import / Export
-삽입/내보내기
function logger(log, type ='log'){
console[type](log);
//https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors
}
export default logger;
//logger를 밖으로 push
import logger from './logger.js';
//cannot use import statement outside a module
console.log(logger);
logger('Test message...','warn');
-->
<body>
<script type="module" src="./app.js">
다른 예제:logger.js
export const TYPE_WARN ='warn';
export const TYPE_ERROR ='error';
function logger(log, type =TYPR_WARN){
console[type](log);
}
export default logger;
app.js
import logger, {
TYPE_WARN,
TYPE_ERROR
}from './logger.js';
console.log(logger);
logger('Test message...',TYPE_ERROR);
예: consttants.js
export const TYPE_WARN ='warn';
export const TYPE_ERROR ='error';
logger.js
import{
TYPE_WARN
} from './constants';
function logger(log, type =TYPR_WARN){
console[type](log);
}
export default logger;
app.js
import logger from './logger.js';
import{
TYPE_WARN,
TYPE_ERROR
} from './constants.js';
logger('Test message...',TYPE_ERROR);
import{
TYPE_WARN,
TYPE_ERROR
} from './constants.js';
-->default 로 임포트가 아님
import logger from './logger.js';
//import constants from './constants.js';//에러
import * as constants from './constants.js'
console.log(constants);
// Module{Symbol(Symbol.toStringTag):"Module})
///TYPE_WARN : "warn"
///TYPE_ERORR : "erorr"
...
//logger('Test message...',TYPE_ERROR);
logger 폴더> logger.js
logger 폴더> index.js
index.js --한 모듈을 한 다른 모듈로 export default 해줌
//import logger from './logger.js';
//export default logger;
export {default} from './logger.js';//default는 logger
//export {default as logger2} from './logger.js';
app.js
import {logger} from './logger/index.js';
import * as constants from './constants.js'
console.log(constants);
logger2('Test message...', constants.TYPE_WARN);