2015-02-03 48 views
5

nw.js ile konsolda, GUIless, penceresiz uygulama için herhangi bir yolu var mı?nw.js ile konsol uygulaması oluşturmak mümkün mü?

Orijinal olarak App.js ile yapılmış ve kısa bir süre önce nw.js'ye (eski adıyla node-webkit) dönüştürülmüş bazı iç yardımcı programlara sahibiz. Bu araç, GUI uygulaması ve konsol (yalnızca oluşturma sürecine entegre) karşılığı oluşturuyor. App.js, konsoldaki herhangi bir * .js gibi nodejs'yi çalıştırabildi, ancak nw.js'de uygulamanın ana * .html ve penceresine sahip olması zorunlu görünüyor. Bildiride node-main olduğunda bile, mevcut olacak main alanını gerektirir. Eğer düğüm-webkit ile açık olacaktır app.nw paketi yapabilir istiyorsanız gerekmez

+4

* "NW.js ile konsolda, GUIless, penceresiz uygulama için herhangi bir yolu var mı?" * Neden bunu yapardınız? Sadece Node kullanmak yerine? –

+0

Konsolu kullanmak için 40mb Webkit bağımlılığı eklemek iyi bir fikir gibi görünmüyor. Node.js [binary] ile (http://nodejs.org/dist/v0.11.16/node.exe) gönderemez misiniz? –

+1

@ ben-fortune, bahsettiğim gibi, bunun da GUI parçası var. GUI parçası, insanlar tarafından, konstrüksiyon sistemi tarafından ve bazen de insanlar tarafından kullanılmaktadır. Null.js ile birlikte node.js binary'yi göndermekten kaçınmaya çalışıyorum, tersi değil. – k12th

cevap

5

Evet, sadece, package.json options

için package.json içinde

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

Dokümanlar "show": false eklemek büyük paket gemi.


Ayrıca sarıcı terminalden basit .js dosyaları çalıştırmak için yapabilirsiniz

:

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

Yani path/wrapper_app başvurumuzu içerecektir (package.json index.html) ve biz belirtilen dosyayı gerektirecektir:

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); 
} 

Sonra * .js böyle dosyasını çalıştırabilirsiniz

İlgili konular