2015-02-03 6 views
5

nw.js와 함께 콘솔 전용, GUI리스, 창없는 응용 프로그램을 사용할 수 있습니까?nw.js를 사용하여 콘솔 응용 프로그램을 빌드 할 수 있습니까?

우리는 원래 내부 번호가 App.js으로 만들어졌으며 최근에 nw.js (이전에는 node-webkit)로 변환했습니다. 이 도구는 GUI 응용 프로그램과 콘솔 전용 (프로세스 작성에 통합) 도구로 구성됩니다. App.js는 콘솔에서 nodejs와 같은 * .js를 실행할 수 있었지만 nw.js에서는 응용 프로그램에서 * .html 및 window가 필수 항목 인 것으로 보입니다. 매니페스트에 node-main이있는 경우에도 main 필드가 있어야합니다. 당신은 당신이 노드 웹킷 오픈 될 것 app.nw 패키지를 만들 수 있습니다 원하는 경우 필요가 없습니다

+4

* "콘솔 전용, GUI리스, nw.js가없는 창없는 응용 프로그램을 가질 방법이 있습니까?"* 왜 그렇게했을까요? 반대로 Node를 사용하는 것과 반대되는 것? –

+0

콘솔을 사용하기 위해 40MB Webkit 의존성을 추가하는 것은 좋은 생각처럼 보이지 않습니다. Node.js [binary] (http://nodejs.org/dist/v0.11.16/node.exe)와 함께 배송 할 수 없습니까? –

+1

@ ben-fortune, 내가 언급했듯이 GUI 부분도 있습니다. GUI 부분은 인간에 의해 사용되며, 콘솔 시스템은 빌드 시스템에 의해, 때로는 인간에 의해 사용됩니다. 나는 nw.js와 함께 node.js 바이너리를 운송하는 것을 피하려고하는데, 그 반대도 마찬가지입니다. – k12th

답변

5

예, 그냥 package.json options

에 대한 package.json에

{ 
    "name": "My CLI App", 
    "main": "index.html", 
    "window": { 
    "show": false 
    } 
} 

문서를 "show": false 추가 큰 패키지를 배송합니다.


또한 래퍼 터미널에서 간단한 .js 파일을 실행 할 수 있습니다

:

#!/bin/bash 
# file nw-runner 
BASEDIR=$(dirname $0) 
/Applications/node-webkit.app/Contents/MacOS/node-webkit $BASEDIR/path/wrapper_app "[email protected]" 

그래서 path/wrapper_app 우리의 응용 프로그램이 포함됩니다 (package.json, index.html을) 우리가 지정된 파일이 필요합니다 :

012 :

var args = require('gui').App.argv; 
var path = require('path'), fs = require('fs'); 
var runable = path.relative(process.env.PWD, args[0]); 

if (fs.existsSync(runable)) { 
    require(runable); 
} else { 
    process.stdout.write("Can not not find file " + args[0]); 
    process.exit(1); 
} 

그리고 *의 .js이 같은 파일을 실행할 수 있습니다