NW.jsとは?
ざっくりとした理解としては、Chromiumエンジン使ってhtmlを表示するデスクトップアプリを作れるフレームワークです。
Electronとの違いなど、詳しい記事は、こちら
NW.jsでデスクトップアプリの夢を見る!
1分でWindowsデスクトップアプリをつくる
いろいろ複雑なことやっている記事が多いですが、本当に簡単なので、1分でアプリ起動できます!
手順
公式サイト( https://nwjs.io/)から、左側の「NORMAL」をダウンロードします。
zip展開し、src というフォルダを作成。そこに起動するHTMLファイル一式を格納します。
package.json を作成して同フォルダに入れます。最低限の設定は以下。
package.json
{"name":"test.application","version":"1.0.0","main":"src/index.html"}
以上。超簡単です。
NW.js Tips
package.json
ウインドウの最低サイズとアイコンの指定
package.json
{"name":"test.application","version":"1.0.0","main":"src/index.html""window":{"min_width":1200,"min_height":760,"icon":"assets/icon32.png"}}
JavaScript
いろいろな情報の寄せ集めですが、動いたコードを紹介。
exeをキックする
varspawn=require('child_process').spawn,child=spawn('C:\\windows\\notepad.exe',["C:/Windows/System32/Drivers/etc/hosts"]);child.stdout.on('data',function(data){console.log('stdout: '+data);});child.stderr.on('data',function(data){console.log('stderr: '+data);});child.on('close',function(code){console.log('child process exited with code '+code);});
エクスプローラーでフォルダーを開く
require('child_process').exec('start "" "c:\\windows"');
htmlと同フォルダーにあるファイルを関連付けられたアプリケーションで開く
varpath=require('path');varstartDir=path.dirname(process.execPath);vargui=window.require('nw.gui');gui.Shell.openItem(startDir+'\\src\\test.pdf');
標準のブラウザでURLを開く
vargui=window.require('nw.gui');gui.Shell.openExternal('https://google.com/');