js에서 모든 파일을 쉽게 import 하기

js에서 모든 파일을 쉽게 import 하는 방법이 있습니다.
간단한 팁이지만 혼자 알기 아까워 간단히 글을 작성하였습니다.
js에서 파일을 임포트 해서 사용하려면 아래와 같이 파일을 구성합니다.
하지만 파일이 많아지면 선언부가 복잡해 집니다.

import { getData, setData } from './modules/module1';
import { getData, setData2 } from './modules/module2';

쉬운 방법으로는, modules 디렉토리 밑에 index.js 를 만들면 폴더 기준으로 파일을 import 할 수 있습니다.

export * from './module1';
export * from './module2';

사용법

import { getData, getData2, setData, setData2 } from './modules';

조금 더 깊게 응용하는 방법이 있습니다.

const files = require.context('.', false, /\.js$/)
const modules = {}

files.keys().forEach((key) => {
  if (key === './index.js') return
  modules[key.replace(/(\.\/|\.js)/g, '')] = files(key).default
})

export default modules

이를 이용하면 index.js 에 매번 추가해 줄 필요가 없어집니다. index.js 만 복붙하면 됩니다.

About

Profile

  • 이름: 이진권
  • 닉네임: Mystic / 은빛소나기
  • Contact: master@bdyne.net
  • 좌우명 : 자기 개발을 멈추면 죽는다.
  • Github: https://github.com/Jinkwon
  • Blog: http://bdyne.net
  • SlideShare: http://www.slideshare.net/jinkwonlee52

이터레이터 패턴 (Iterator Pattern)

리스트같은 집합 객체(데이터 군)들의 내부표현 구조들을 노출시키지 않고 원소들을 반복자(Iterator)를 이용하여 접근하는 패턴입니다. 이 패턴을 이용하면 집합체 내에서 어떤 식으로 일이 처리되는지에 대해서 전혀 모르는 상태에서 그 안에 들어있는 모든 항목들에 대해서 반복작업을 수행할 수 있습니다. 복합 객체 요소들의 내부 표현 방식은 공개하지 않고 순차적인 접근 방법을 제공하는 패턴. (반복을 캡슐화)

컴포지트 패턴 (Composite Pattern)

객체들을 트리(Tree) 구조로 구성하여 부분-전체 계층구조를 구현합니다. 이 패턴을 이용하면 Client 에서 개별 객체와 복합 객체(Composite)를 똑같은 방법으로 다루도록 할 수 있습니다.

템플릿 메소드 패턴 (template method pattern)

템플릿 메소드 패턴은 어떤 작업 알고리즘의 골격을 정의합니다. 일부 단계는 서브 클래스에서 구현하도록 할 수 있습니다.
상위 클래스에서는 처리할 구조를 결정하고 하위 클래스에서 구체적인 내용을 정의하는 디자인 패턴을 말합니다.
하위 클래스에서 어떤 구현을 해도 처리의 실제 큰 흐름은 상위 클래스가 결정한대로 정의를 해야 됩니다.
템플릿 메소드를 이용하면 알고리즘 구조는 그대로 유지하면서 특정 단계만 서브 클래스에서 새로 정의하도록 할 수 있습니다.

2016 Self Review

올해가 가기 전에 간단히 올해의 이슈들을 중심으로 한해를 리뷰 해 보고자 글을 정리한다.
매년 비슷한 생각들은 줄곧 해왔지만, 기록해 두지 않았더니 어렴풋해지고 남질 않아 올해부터는 기록해 두기로 마음을 먹었다. 억지로라도 습관을 들이면 괜찮아 질거 같다.

커맨드 패턴 (command pattern)

커맨드패턴을 이용하면 요구사항을 객체로 캡슐화 할수 있으며, 매개변수를 써서 여러가지 다른 요구사항을 집어넣을 수도 있습니다. 또한 요청내역을 큐에 저장하거나 로그로 기록할 수도 있으며, 작업취소 기능도 지원 가능합니다.

싱글턴 패턴 (singleton pattern)

소프트웨어를 디자인 하다보면 하나만 있으면 되는 객체들이 있습니다.
어플리케이션의 생명주기 안에서 단 하나의 클래스에 단 하나의 인스턴스만 생성하는 것을 싱글톤 패턴이라고 합니다.
유틸과 같은 공통으로 사용하는 클래스에 적용하면 알맞을 것입니다.

해당 클래스의 인스턴스가 하나만 만들어지고, 어디서든지 그 인스턴스에 접근할 수 있도록 하기 위한 패턴.

팩토리 패턴 (Factory Pattern)

팩토리 패턴의 목적은 객체들을 생성하는 것입니다.
팩토리 패턴은 흔히 클래스 내부 또는 클래스의 스태틱 메서드로 구현되며 다음과 같은 목적으로 사용됩니다.

옵저버 패턴 (Observer Pattern)

디자인 패턴의 정리를 위해 글 작성을 시작했습니다.
기본적인 패턴이자 널리 사용되는 패턴중 하나인 옵저버 패턴을 정리 해 보았습니다.