下載和安裝node-webkit
官網訪問地址
github訪問地址
WEB應用
新建一個index.html文件,作爲我們這個demo的入口頁面:
<html>
<head>
<meta charset="utf-8" />
<title>Demo</title>
<head>
<body>
<h1>Hello World!</h1>
</body>
<html>
創建配置文件 package.json:
{
"name":"Demo",
"main":"index.html"
}
其中的main屬性就是用來指定入口文件的,這個屬性的值可以是本地文件,也可以是遠程網址,這樣就相當於可以把一個遠程的web應用直接變爲一個桌面應用了。除了name與main這兩個屬性外,還有很多其他有用的屬性可以配置,比如指定應用的圖標,顯不顯示瀏覽器的工具欄,指定瀏覽器的初始大小等等。
關鍵package.json的語法請參考:
https://github.com/nwjs/nw.js/wiki/Manifest-format#webkit-subfields
生成exe
- 將index.html和package.json這兩個文件壓縮到一個zip壓縮包裏,命名爲app.zip
把app.zip這個文件的擴展名改爲nw,變爲 app.nw
將app.nw拷貝到node-webkit的和nw.exe同一目錄,進入windows cmd後運行這個命令
copy /b nw.exe+app.nw app.exe
- 生成app.exe
將生成的文件剪切到新的文件夾,爲下面封包做準備:
icon
默認情況下創建出來的應用程序(exe)會和nw.exe的圖標一樣,可以通過resource hacker這個工具來修改nw.exe的圖標成你所想要的,比如可以參考:
封包
Enigma Virtual Box
官網上推薦用Enigma Virtual Box這個軟件來將app.exe和依賴的dll打包成一個exe後發佈
下載地址:
https://enigmaprotector.com/en/downloads.html
- 首先下載和安裝這個軟件,然後打開它
在Enter Input File Name輸入app.exe的路徑
在Enter Output File Name輸入打包出來的可執行文件的輸出路徑
點擊增加,選擇nwjs文件夾
導入配置文件,選擇執行封包
生成可執行EXE
總大小182MB,比Inno Setup方案大很多
雙擊EXE可直接運行
比Inno Setup方案的優勢在於可以直接運行,無需安裝
Inno Setup
另一個打包方式,就是用Inno Setup來打包成安裝程序,即將一開始的web應用源文件和node-webkit的nw.exe和一些以來dll直接壓縮成一個安裝文件,我們並不需要上述中間那先打包成app.exe的步驟。用戶在使用你的exe後會出現setup wizard把程序安裝到Program Files目錄中,將nw.exe,dll,web應用釋放出來,這個時候所生成的安裝文件其實size會小很多。
下載地址:
http://www.jrsoftware.org/isdl.php
下載安裝運行後點擊File->New即進入創建步驟
填寫應用發佈的信息:
添加應用程序的打包文件:
執行後續操作,進行編譯:
生成可執行EXE
總大小47.9MB,比Enigma Virtual Box小很多
-在C盤安裝成功
安裝完成後,生成桌面圖標
雙擊圖標,程序運行成功