使用node-webkit(NW.js)封裝node.js的windows可執行程序(EXE)

下載和安裝node-webkit

官網訪問地址

https://nwjs.io/

github訪問地址

https://github.com/nwjs/nw.js

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的圖標成你所想要的,比如可以參考:

http://keenwon.com/1311.html

封包

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盤安裝成功
這裏寫圖片描述

  • 安裝完成後,生成桌面圖標
    這裏寫圖片描述

  • 雙擊圖標,程序運行成功
    這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章