이전강의

  ->  Node js 사용자 모듈 (Module) 사용하기



- 외장모듈 사용

다른사람이 만든 모듈을 사용할때는 외장모듈을 사용해야합니다.

다른사람이 올린 패키지를 다운받기 위해서는 npm 패키지를 사용하여 다운받을 수 있습니다.


npmNode Package Manager 약자로 노드 패키지를 사용하고 설치및 삭제등을 지원하는

프로그램입니다. 


nconf 라는 외장모듈을 다운로드받는 절차를 살펴보겠습니다.


명령프롬프트 입력

> npm init

> npm install nconf --save


이제 package.json 파일을 열어보고 dependenceis 속성이 추가된것을 볼 수 있습니다.


또한, 외장모듈은 node_modules 라는 폴더에 저장되는것을 확인할 수 있습니다.




만약 다른 PC에서 외장모듈을 다시 설치해야할 경우 package.json 파일만 다른PC로 옮긴후 다음과 같이

> npm install


명령만 치게되면, package.json에 정의된 외장모듈들을 설치하여 node_modules 폴더에 채우게 됩니다.




- 간단한 내장 모듈 사용하기


노드를 설치했을떄 기본적으로 들어있는 내장모듈을 살펴보겠습니다.

내장모듈은 자주사용하는 기본기능을 노드에 포함시켜 제공하는 것입니다.

외장모듈은 npm으로 설치해야하지만 내장모듈은 바로 사용할 수 있습니다.


hostname() 

 운영체제의 호스트이름을 알려줍니다.

 totalmem()

  시스템 전체 메모리 용량을 알려줍니다.

 freemem()

 시스템에서 사용가능한 메모리 용량을 알려줍다.

 cpus()

 CPU 정보를 알려줍니다.

 networkInterfaces() 

 네트워크 인터페이스 정보를 담은 배열 객체를 반환합니다.




os모듈을 사용하는 코드예제입니다.

var os = require('os');

console.log("시스템 hostname :%s", os.hostname());

console.log("시스템 메모리 :%d", os.freemem(), os.totalmem());

console.log("시스템의 CPU 정보 \b")

console.log("os.cpus());

console.log("시스템의 네트워크 인터페이스 정보\n");

console.dir(os.networkInterfaces());






파일 path를 다루는 path 모듈

  join() 

 여러개의 이름들을 모두 합쳐 하나의 파일 path로 만들어줍니다. 파일 패스를 완성할 때 구분자 등을 알아서 조정합니다.

 dirname() 

 파일path 에서 디렉터리 이름을 반환합니다.

 basename()

 파일path 에서 파일의 확장자를 제외한 이름을 반환합니다.

 extname()

 파일path 에서 파일의 확장자를 반환합니다. 



path 모듈 사용 예제입니다.


var path = require('path');


//디렉터리 이름 합치기

var dirs = ["user", "jinss", "docs"];

var docDir = dirs.join(path.sep)

console.log("문서 디렉토리 %s", docDir);


//디렉터리 이름과 파일 이름 합치기

var curPath = path.join('/user/mike', 'text.exe');

console.log("파일 path: %s", curPath);




[다음강의]

    ->    node js 외장, 내장 모듈 사용하기


 


 노드 (Node.js)에서 모듈 사용하기


main.js

    var module1 = require('module1');

    module1.func();


module1.js

    exports.func = 함수정의부분



 메인파일 코드중에 독립적인 기능은 별도파일로 분리할 수 있으며,  메인 파일에서 전체적인 실행순서나 흐름을 제어합니다.

  이렇게 분리된 파일을 노드에서는 모듈이라고 합니다.


 모듈이란 별도의 파일로 분리된 독립기능의모음이라서, 모듈을 만들어 놓으면 다른파일에서 모듈을 불러와 사용할 수 있습니다.



모듈만들어 내보내기.

exports v.s module.exports

모듈을 만들어서 다른파일에서 사용하기위해서는 exports혹은 module.exports를 사용합니다.


- exports에는 속성을 추가할 수 있어 여러개의 변수나 함수를 각각의 속성으로 추가할 수 있습니다.


- module.exports하나의 변수나 함수 또는 객체를 직접 할당합니다.




더하기함수 모듈 만들어 사용


calc.js 

exports.add = function (a,b){

   return a+b;

}


main.js

var cal = require('./calc');

console.log("모듈분리후 calc.js의 add 메소드 사용: %d ", calc.add(10,20));


[결과화면]







node.js 의 전역객체


node.js 콘솔에 로그뿌리기


console 객체는 전역 객체입니다. 코드의 어느부분에서나 사용할 수 있습니다.


console 

 콘솔창에 결과를 보여주는 객체

 process 

 프로세스의 실행에 대한 정보를 다루는 객체

 exports 

 모듈을 다루는 객체


    

 node.js의 console.log를 c언어의 printf 처럼 사용하기.


 console.log ('숫자 보여주기 :%d', 10);

 console.log ('문자열 보여주기 :%s', '소녀시대');

 console.log ('JSON객체 보여주기 :%j', {name: '소녀시대'});





console객체의 주요 메소드

 dir(object) 

 자바스크립트 객체의 속성들을 출력

 time(id)

 실행시간을 측정하기 위한 시작시간을 기록한다.

 timeEnd(id) 

 실행시간을 측정하기 위한 끝 시간을 기록한다.


   

 

 console.dir() 메소드를 이용한 객체안에 들어있는 속성확인.


    var Person = {name:"소녀시대", age:20}

    console.dir(Person); 





 console.time('id')를 이용한 시간측정 예제

    

   var result = 0;


    console.time('duration');


    for(var i = 1; i<=1000; i++){

      result += i;

    }


    console.timeEnd('duration');

    console.log('1부터 1000까지 더한 결과물 %d', result);




node.js의 전역변수

  __fiilname

 현재 실행한 파일의 이름

  __dirname 

 현재실행한 파일의 path(경로)


        

  console.log('현재실행한 파일이름 %s", __filename);

  console.log('현재실행한 파일 path %s', __dirname);



node.js 설치및 예제코드 작성해보는 시간을 가지겠습니다.



먼저 node.js 설치를 위해 다음의 공식 싸이트에 접속합니다.

https://nodejs.org/ko/download/



저는 아래그림처럼 window installer (.msi) 64-bit를 다운받고 실행하였습니다.



Next를 누릅니다.


Next를 누르시구요


설치가 진행됩니다.~!




설치가 끝났습니다.







예제코드 작성전에 Edit 프로그램을 또 다운받습니다. 

비쥬얼스튜디오코드  https://code.visualstudio.com/ 

해당 홈페이지의  download for window 를 클릭하여 받으신후 설치하시면 되겠습니다.



바탕화면에 꿩폴더를 만들고 그안에 app.js 파일을 생성합니다.


그리고 비쥬얼스튜디오 코드로 열어서 다음과 같이 작성합니다.



그 이후 꿩폴더에서 shift를 누른채 오른쪽 마우스를 클릭하시면, "여기서 명령창 열기"가 있습니다. 클릭해서 cmd 창을 뛰웁니다.



그다음 다음과 같이 명령을 칩니다.

> node app.js



화면과 같이 Hello node.js! 가 출력되면 성공적으로 node.js를 설치에 성공하신겁니다.

본격적으로 node.js 프로그래밍될 준비가 끝난겁니다.!


+ Recent posts