1. 程式人生 > >Ubuntu環境下使用NW.js對web應用封裝

Ubuntu環境下使用NW.js對web應用封裝

前言

相對於偏向應用的windows系統,Linux系統更偏向於開發,因此對於依賴Windows應用的人來說,缺了很多常用軟體會很不習慣,本文的目的便是通過兩個Demo來引出後面的教程——通過NW.js來封裝你想要的Web應用。以Ubuntu 16.04為例(14.04可能無法相容部分依賴)。

關於NW.js

1. Demo - Wechat

2. Demo - YoudaoDict

3. 準備工作

安裝nodejs

sudo apt-get install nodejs

使用 ‘nodejs --version’ 可以檢視安裝成功的版本

安裝npm

sudo apt-get install npm

使用 ‘npm --version’ 可以檢視安裝成功的版本

安裝NW.js

sudo npm install nw -g

安裝成功後會顯示目錄結構,使用 ‘nw --version’ 可以檢視安裝成功的版本

4. NW.js使用教程

(1) 建立一個html檔案,裡面嵌入你想定製的web應用連結

<html>
 	<head>
  		<meta charset="utf-8">
  		<title>Wechat</title>
 	</head>
 	<body>
 		 <iframe src
="https://wx.qq.com/"/>
</body> </html>

(2) 建立一個名為package的json檔案,這是固定名稱

{
	"name":"Wechat",
	"main":"Wechat.html",
	"window":{
			"title":"Wechat",
			"toolbar":false,
			"frame":true,
			"position":"center",
			"always-on-top":true,
			"width":1000,
			"height":800
		}
}

(3) 將二者打包成nw檔案

sudo cat package.json Wechat.html > Wechat.nw

(4) 將所需檔案放在nw程式同級目錄中

(5) 建立一個sh啟動指令碼,路徑請改為自己的nw程式路徑和應用路徑

#!/bin/bash
cd /usr/local/lib/nwjs-sdk-v0.27.5-linux-x64
./nw /home/zengyu/git/NWJS-Demo/Wechat/Wechat.nw

(6) 在/usr/share/applications/下建立一個字尾名為desktop的快捷方式檔案,其中內容的路徑請改為自己的啟動指令碼路徑和圖示路徑

sudo gedit /usr/share/applications/Wechat.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Wechat
Exec=sh /home/zengyu/git/NWJS-Demo/Wechat/Wechat.sh
Icon=/home/zengyu/git/NWJS-Demo/Wechat/Wechat.jpg
Categories=GTK;Network;message;
Comment=Wechat
Terminal=false
Type=Application

(7) 開始使用你定製的應用,雙擊快捷方式,啟動後右鍵單擊圖示鎖定到啟動器

5. NW.js安裝及執行過程中可能出現的問題及解決方案

(1) 缺少部分依賴

sudo apt-get install -f

可以自動安裝缺少的依賴

(2) nw安裝失敗

(3) 無法載入以下來源的擴充套件程式:xxxxxx\xxx.nw.清單檔案缺失或不可讀

  • 可能原因1:檢查所有相關檔案編碼,採用中文編碼會導致該問題
  • 可能原因2:html檔案、json檔案、nw檔案是否都位於nwjs目錄下的nw程式同級目錄中

6. 推薦一些基於electron封裝的應用以供使用和學習借鑑

關於electron

7. 參考文獻

8. 原始碼