이번에는 모듈을 불러오는 require에 대해 알아봅시다. require는 함수이고, 함수는 객체이므로 require는 객체로서 속성을 몇 개 갖고 있습니다. 그중에서 require.cacherequire.main을 알아보겠습니다.

    var.js가 있는 곳에 require.js를 만듭니다.

    require.js

    console.log('require가 가장 위에 오지 않아도 됩니다.');
    
    module.exports = '저를 찾아보세요.';
    
    require('./var');
    
    console.log('require.cache입니다.');
    console.log(require.cache);
    console.log('require.main입니다.');
    console.log(require.main === module);
    console.log(require.main.filename);

    콘솔

    $ node require
    require가 가장 위에 오지 않아도 됩니다.
    require.cache입니다.
    [Object: null prototype] {
      'C:\Users\zerocho\require.js': Module {
        id: '.',
        exports: '저를 찾아보세요.',
        filename: 'C:\Users\zerocho\require.js',
        loaded: false,
        children: [ [Module] ],
        paths: [
          'C:\Users\zerocho\node_modules',
          'C:\Users\node_modules',
          'C:\node_modules'
        ]
      },
      'C:\Users\zerocho\var.js': Module {
        id: 'C:\Users\zerocho\var.js',
        exports: { odd: 'CJS홀수입니다', even: 'CJS 짝수입니다' },
        filename: 'C:\Users\zerocho\var.js',
        loaded: true,
        children: [],
        paths: [ 
          'C:\Users\zerocho\node_modules',
          'C:\Users\node_modules',
          'C:\node_modules'
        ]
      }
    }
    require.main입니다.
    true
    C:\Users\zerocho\require.js
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.