资讯专栏INFORMATION COLUMN

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

microcosm1994 / 3162人阅读

摘要:在很多原因下,我们为了迎合客户或者其他的原因,需要在本身代码或框架不能兼容的浏览器下运行项目,怎么办呢,我们将其打包为桌面应用不失为一种好。如果图标有变化,大功告成我的没有换图标,所以依然是的图标

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的图标

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/83655.html

相关文章

  • 轻量级桌面应用开发的捷径——nw.js

    摘要:下面这张解决了怎么用完成任务的问题,最后,开发者怕你怀疑的强大,又提供了几个和许多成功的案例来打消我们的顾虑。拿下助攻决定用之后,就开始补充相应的知识啦。来欣赏一下一些应用的截图吧,不得不说开发出的应用一点不比原生的丑陋啊。 博客地址 每个程序员都希望用自己喜欢的语言,自己喜欢的平台、工具,写自己喜欢的程序。于是我们会看到有人在Win下用Visual Studio愉快地coding,也...

    pumpkin9 评论0 收藏0
  • 2016年度 JavaScript 展望(下)

    摘要:与是年最早公开发布的两个框架,后来者还包括与。此外,另一重心是与团队的合作,预计将贯穿年。年展望对平台而言,年的重点是提升稳定性与采纳率。最早由开发,于年公开发布。时间会告诉我们,的极速增长能否在年持续下去。 【编者按】本文作者为资深 Web 开发者 TJ VanToll, TJ 专注于移动端 Web 应用及其性能,是《jQuery UI 实践》 一书的作者。 本文系 OneAPM 工...

    XGBCCC 评论0 收藏0
  • JavaScript 就要统治世界了?

    摘要:欢迎使用中文文档架构概览是网易项目团队开发的一个基于进行开发的应用层框架,提供了一个轻量级的容器来编写简单可维护的。 JavaScript 可以……嘛,不就是操作一下 DOM,可以让元素飞来飞去吗JavaScript 是……不就是用 jQuery 让网页动起来,顶多就是再用用 Ajax 和后端进行一下数据交换吗JavaScript 是一门……最讨厌和鄙视这种弱类型不需要编译的脚本语言...

    AbnerMing 评论0 收藏0

发表评论

0条评论

microcosm1994

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<