강좌 & 팁
글 수 2,412
2014.04.16 11:08:02 (*.134.169.166)
50894
실행 프로그램의 절대 패스를 구하기 위해서 참조 되는 것은
process 모듈이다.
이 모듈은 프로그램 실행시 자동으로 로드 되기 때문에
굳이 require 문을 사용하지 않아도 된다.
다음과 같은 방법으로 쓰면 끝난다.
process.execPath
그런데 이것만 사용하면 실행 프로그램명까지 포함되므로
다음과 같은 형식으로 해서 추출한다.
var path = require('path');
console.log( 'exec path = ' + path.dirname(process.execPath) );
이 프로그램의 완전한 소스는 다음과 같다.
----[package.json]--------------------------------------------------------------
{
"name": "execPath",
"main": "index.html",
"window":
{
"toolbar" : false
}
}
--------------------------------------------------------------------------------
----[index.html]----------------------------------------------------------------
<html>
<head>
<meta http-equiv="content-Type" content="text/html; charset=utf-8" />
<title>실행 프로그램 디렉토리</title>
<script type="text/javascript" src="js/jquery-2.0.3.min.js"></script>
</head>
<body>
<h1>실행 프로그램 디렉토리</h1>
<script type="text/javascript" src="main.js"></script>
</body>
</html>
--------------------------------------------------------------------------------
----[main.js]----------------------------------------------------------------
$(function(){
var gui = require('nw.gui');
var win = gui.Window.get();
win.showDevTools();
console.log( "윈도우 프로그램 시작" );
var path = require('path');
console.log( 'exec path = ' + path.dirname(process.execPath) );
});
--------------------------------------------------------------------------------
실행 결과 디버그 콘솔창에는 다음과 같이 나타날 것이다.
----[console]----------------------------------------------------------------
윈도우 프로그램 시작
exec path = c:\nw\samples\execPath
--------------------------------------------------------------------------------