JS module 사용하기

April 03, 2020

Vanilla JS

  1. 정의

    • export 문은 JavaScript 모듈에서 함수, 객체, 원시 값을 내보낼 때 사용합니다. 내보낸 값은 다른 프로그램에서 import 문으로 가져가 사용할 수 있습니다.
    • 내보내는 모듈은 "use strict"의 존재 유무와 상관없이 무조건 엄격 모드입니다. export 문을 HTML 안에 작성한 스크립트에서는 사용할 수 없습니다.
  2. export 종류

    • named
    // 먼저 선언한 식별자 내보내기
    export { myFunction, myVariable };
    
    // 각각의 식별자 내보내기
    // (변수, 상수, 함수, 클래스)
    export let myVariable = Math.sqrt(2);
    export function myFunction() { ... };
    • default
    // 먼저 선언한 식별자 내보내기
    export { myFunction as default };
    
    // 각각의 식별자 내보내기
    export default function () { ... };
    export default class { ... }
  3. import

    import {
        name,
        draw,
        reportArea,
        reportPerimeter,
    } from './modules/square.js'
    
    import {
        name as circleName,
        draw as drawCircle,
        reportArea as reportCircleArea,
        reportPerimeter as reportCirclePerimeter,
    } from './modules/circle.js'
    
    import * as Module from './modules/module.js'

Common JS

  1. exporting : exports 와 module.exports 가 같은 객체를 참조한다

    // greetings.js
    var exports = (module.exports = {})
    
    // 첫번째 방법
    exports.sayHelloInEnglish = function () {
        return 'HELLO'
    }
    
    exports.sayHelloInSpanish = function () {
        return 'Hola'
    }
    
    // 두번째 방법
    module.exports = {
        sayHelloInEnglish: function () {
            return 'HELLO'
        },
    
        sayHelloInSpanish: function () {
            return 'Hola'
        },
    }
  2. require

    var require = function (path) {
        // ...
    
        return module.exports
    }

© 2023, Customized by Joon