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
![
](http://upload-images.jianshu....
这个时候 你的文件夹会发生变化,就像这样
按照这个路径找到你命名的文件(exe结尾),双击打卡,如果你的项目启动了,你就成功一半了,当然,此时,如果你将此文件脱离文件夹是不会运行的,会alert下面的对话框,好,我们继续。
![
](http://upload-images.jianshu....
##3.打包封装文件
1.打开软件后点击第一个Brower选择nwjs构建好的exe结尾的文件
2.点击左下角的Add按钮==》点击Add Files,选择除了exe结尾的全部文件
3.点击Add按钮==》点击New Folders,新建一个locales文件夹
4.右击新建的licales文件==》Add Files,添加locales中的所有文件
5.点击Files Option==》Compress Files
6.点击右下方的Process按钮,运行完毕后会生产boxed文件
4优化
OK,刚才生产好的boxed文件就是我们辛苦半天的结晶,你可将他单独拉出去脱离原文件夹,也是可以运行的
不过现在我们的应用是nwjs的图标,下面 ,我们去换应用的图标
下载Resource Hacker后,打开你的boxed应用==》右击icon group==》然后选择你准备好的图标==》save
这里需要注意的是图标应为icon格式,换完之后,你可能会发现图标没有变,你不妨试试将你的应用换一个盘存放或者压缩后发给你的好友,在他的电脑打开看看。如果图标有变化,大功告成
我的没有换图标,所以依然是nwjs的图标