NW.js+Enigma Virtual Box+node-webkit打包Hybrid桌面应用其实很简单

WHY

在很多原因下,我们为了迎合客户或者其他的原因,需要在本身代码或框架不能兼容的浏览器下运行项目,怎么办呢,我们将其打包为桌面应用不失为一种好idea。nw.js是node-webkit.js的简称。相当于一个自定义的webkit内核浏览器(chrome)中执行服务端代码,因此,我们的项目只需要兼容chrome就ok了。第一次打包的时候,在网上找了好多教程,可是怎么都打不出来,经过自己的探究后,也希望大家可以少才点坑吧。

HOW

首先我们需要以下几个软件,如果没有,点击其对应超链接进入下载

1.nw.js nw.js 也可以进行npm安装 '''npm install nw -g'''
2.Enigma Virtual Box Enigma Virtual Box

STEP

1.准备工作

一切需在你的项目打包结束后进行,例子中的项目打包结束后,会在dist文件夹中。按照下面的规则建立文件

nwjs----package.json
     |
      ---src
    |
     ---package.json    

本例子的文件夹名为nwjs,在nwjs下新建src文件与package.json文件,然后,在src文件中新建package.json文件,并将打包好的文件全部copy进src中
外层的package代码如下

{
  "name": "vein_web",
  "version": "1.0.0",  
  "devDependencies":{
    "nw":"^0.18.2",
    "nw-builder":"^3.1.2"
  },
  "scripts":{
    "dev":"nw src/",
    "prod":"nwbuild --platforms win32 --buildDir dist/ src/"  ======根据你的需要,我的例子只输出win32
  }
}

src中的package.json代码如下

{
    "name":"nwjs",
    "version": "1.0.0", 
    "main":"index.html",
    "window":{
        "min_width":400,
        "min_height":400
    }
}

2.安装并进行生产构建

在根目录下(我的为nwjs文件)执行yarn install,然后你就静静的wait。
在这里使用npm与yarn没有差别,只不过我突然发现我现在喜欢用yarn而且能稍微快一点点,如果你习惯npm也无妨
接着在根目录下执行yarn run prod

![642423150595603730.jpg](http://upload-images.jianshu.io/upload_images/5327602-4a009a525108b5f4.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

这个时候 你的文件夹会发生变化,就像这样

276167968842548539.jpg

按照这个路径找到你命名的文件(exe结尾),双击打卡,如果你的项目启动了,你就成功一半了,当然,此时,如果你将此文件脱离文件夹是不会运行的,会alert下面的对话框,好,我们继续。

![903444301870506903.jpg](http://upload-images.jianshu.io/upload_images/5327602-cd873d9af65e9af8.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

3.打包封装文件

1.打开软件后点击第一个Brower选择nwjs构建好的exe结尾的文件

172080238665280610.jpg

2.点击左下角的Add按钮==》点击Add Files,选择除了exe结尾的全部文件

369803570908522448.jpg

3.点击Add按钮==》点击New Folders,新建一个locales文件夹

886535748038699611.jpg

4.右击新建的licales文件==》Add Files,添加locales中的所有文件
5.点击Files Option==》Compress Files
6.点击右下方的Process按钮,运行完毕后会生产boxed文件

NW.js+Enigma Virtual Box+node-webkit打包Hybrid桌面应用其实很简单_第1张图片
432568624890874696.jpg
831754397727519052.png

4优化

OK,刚才生产好的boxed文件就是我们辛苦半天的结晶,你可将他单独拉出去脱离原文件夹,也是可以运行的
不过现在我们的应用是nwjs的图标,下面 ,我们去换应用的图标

531793164524536723.png

下载Resource Hacker后,打开你的boxed应用==》右击icon group==》然后选择你准备好的图标==》save

这里需要注意的是图标应为icon格式,换完之后,你可能会发现图标没有变,你不妨试试将你的应用换一个盘存放或者压缩后发给你的好友,在他的电脑打开看看。如果图标有变化,大功告成
88837dd56315dd7791241b2fe8b49bd.png
我的没有换图标,所以依然是nwjs的图标

你可能感兴趣的:(NW.js+Enigma Virtual Box+node-webkit打包Hybrid桌面应用其实很简单)