Node Webkit 줄여서 nwjs 를 사용하면서 자바, 파이썬, C/C++ 같은 네이티브 함수/메소드가 필요할 때가 있습니다.


이를 사용하기 위해서는 node-gyp를 사용해야 합니다.


하지만 nwjs 에서 node-gyp를 개량한 nw-gyp라는것이 존재합니다.

(nwjs git url: https://github.com/nwjs/nw-gyp)

(nwjs 공식설명: http://docs.nwjs.io/en/latest/For%20Users/Advanced/Use%20Native%20Node%20Modules/#node-pre-gyp)


이것을 이용해서 네이티브 함수/메소드를 사용할 수 있습니다.


윈도우 기준 및 파이썬 기준으로 설명하겠습니다.


1. nw-gyp는 파이썬 2.7 버전을 지원을 하여 3.x 버전은 지원하지 않습니다. 그래서 파이썬 2.7 버전을 설치합니다.


2. 파이썬 2.7 버전을 설치가 완료되었으면 npm install --global --production windows-build-tools 을 설치합니다.


이때 CMD 콘솔창은 관리자 권한으로 실행을 해야 설치가 됩니다.


3. 설치가완료되면 npm install -g nw-gyp 을 설치합니다.


4. 만약 파이썬 버전이 여러개가 설치되어 있는경우 nw-gyp --python /path/to/python2.7 명령어를 통해 해당 파이썬 버전을 선택할 수 있습니다.


5. 그 후 내가 만든 프로젝트로 이동 후 nw-gyp configure --target=<0.3.2 or other nw version> 명령어를 통해 nwjs 버전을 설정합니다.


6. 그리고 Visual C ++ 빌드 도구 2015 설정을 위해 nw-gyp configure --msvs_version=2015 명령어를 실행합니다.


7. 그리고 빌드된 파일을 가지고 binding.gyp JSON파일을 만들어서 package.json 파일과 동일한 위치에 만듭니다.

내용은 아래와 같습니다.



{

  "targets": [

    {

      "target_name": "binding",

      "sources": [ "src/binding.cc" ]

    }

  ]

}



8. nw-gyp build 명령어로 src/ 안에 있는 파일을 빌드합니다.


9. 완료되었습니다.

(Hello World 예제: https://github.com/nodejs/node/tree/master/test/addons/hello-world)


여기 까지인데 저도 5번까지하고 다른 모듈을 사용하느라 그 후의 작업은 진행하지 못했습니다.


추후 해보고 다시 수정해서 올리겠습니다.

+ Recent posts