1.首先下载nw.js的SDK:

https://nwjs.org.cn/download.html

2.SDK目录下新建myapp文件夹:

3.myapp文件夹内新建package.json文件:

4.package.json内容如下:

5.在myapp文件夹下执行 npm install 安装依赖,注意此时需要将C++依赖编译成node依赖:

1.首先要保证电脑已安装python2.7 和 VS

2.还要全局安装 nw-gyp

   npm install -g nw-gyp

 

3.然后执行以下命令,设置各个环境变量目录等,让依赖按vs2015编译

set PYTHON=C:\Users\NALA\.windows-build-tools\python27\python.exe
set npm_config_target=0.31.4
set npm_config_arch=x64
set npm_config_runtime=node-webkit
set npm_config_build_from_source=true
set npm_config_node_gyp=C:\Users\NALA\AppData\Roaming\npm\node_modules\nw-gyp\bin\nw-gyp.js
 
npm install --msvs_version=2015 sp-printer

(sp-printer模块 是我写的打印机组件,哈哈哈)

6.在myapp文件夹下将所有文件打包: myapp.zip

7.将myapp.zip剪切到SDK文件夹根目录,cmd cd到根目录下,执行命令:

copy /b nw.exe+myapp.zip mzt.exe 

打包成mzt.exe可执行文件

8.确保已安装Inno Setup 软件,InnoSetup是一款Windows免费的安装制作软件,可以将我们整个程序制作成一个安装程序。

  • 打开Inno Setup,新建一个脚本向导:

  • 填写相关信息后,继续下一步:

  • 到了这一步,非常要注意:
  • 可执行文件,选择SDK文件夹内的mzt.exe

  • 其他应用程序文件,选择添加文件,

1.先全选sdk内所有文件;

2.然后用ctrl键+鼠标左键,点选来移除:文件夹、mzt.exe、nw.exe(这些文件不需导入),最后点击打开,导入这些文件。

3. 最后点击添加目录,刚才把文件夹移除了,现在把文件夹导入,因为有区别,所以分开操作。

4.点击“是”,包含子目录。

5.点击选择刚导入的文件夹,再点击编辑,在目标子目录中,输入和文件夹一样的名称,这是确保生成的安装程序,在用户安装时候把文件夹内容正确安装在这些目标子目录下,否则是默认安装在安装程序的根目录下。

6.重复3~5的操作,将SDK内其他的文件夹都导入进来,并设置好目标子目录。

  • 文件夹都导入后,点击下一步

  • 这步是配置安装输出目录及安装程序信息,图标可以自己找软件做一个。安装密码一般不需要。

  • 点击完成,脚本向导配置结束。

  • 最后显示的配置内容,其他的信息参数都可以再次修改,修改后记得点保存

  • 点击构建,编译,开始生成安装程序了

  • 稍等一会,编译完成,打开安装程序输出目录,发现安装程序已经生成了。

9.点击安装体验一下吧,至此构建任务全部结束了!

NW.js构建PC收银端安装程序的指南的更多相关文章

  1. NW.js构建桌面应用

    最近要做个桌面的应用,用起来也方便.找了一圈发现NW.js挺容易上手,分享给大家. NW.js 官网https://nwjs.io/ 1.下载适合当前版本的js [这里下载的SDK版本,方便后续调试] ...

  2. JS判断PC和移动端设备

    1.方法一 function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", ...

  3. 使用nw.js将html项目打包为桌面程序

    首先需要确保电脑已经布置好node.js环境 1.下载并全局安装nw.js npm install nw -g 2.安装nw-builder模块 npm install nw-builder -g 3 ...

  4. JS判断PC还是移动端打开网页

    最近在做移动端网站,也需兼容PC端.还没找到更好的方法,只能用javascr判断用户是在PC端打开还是移动端打开. JS判断 var isPC = function (){    var userAg ...

  5. 原生js获取pc和移动端屏幕宽、高的方法

    pc端: var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; ...

  6. js判断pc还是移动端

    if (!/windows phone|iphone|android/ig.test(window.navigator.userAgent)) { //pc }else{ //h5 }

  7. angular打包(二):nw.js

    1 npm build 把ng编译出dist 2 单独写一个package.json 放在dist文件夹里. { "name": "app", "ma ...

  8. svn服务端安装、迁移教程、Eclipse切换svn连接库

    svn服务端安装.迁移教程.Eclipse切换svn连接库 安装教程 1.下载svn服务端安装程序 2.运行程序,安装 这里端口号根据自己定义,避免与其他程序冲突 到这里就安装完成 迁移教程 这里举例 ...

  9. c/s端测试——nw.js篇(selenium工具)

    最近在为兄弟部门开发自动化测试工具. 然后才知道现在竟然有JS工具可以把JS打包成cs端程序了,太牛了,js发展是真快.并且还是跨平台的,mac.windows.linux都支持. 当然,今天不是说n ...

随机推荐

  1. PHP array_chunk()

    定义和用法 array_chunk() 函数把一个数组分割为新的数组块. 其中每个数组的长度由参数 size 决定. 可选参数 preserve_key 是一个布尔值,它指定新数组是否使用原数组相同的 ...

  2. HDU 4542

    T_T终于让我过了,坑啊,竟然时限是200ms... 我是预处理出不整除了个数的,因为这个较容易一点.利用算术基本定理,f=p1^a1*p2^a2...... 所以,整除它的个数就是(a1+1)*(a ...

  3. cppunit 单元测试程序

    原文:http://www.cnblogs.com/wang-kai/p/5106740.html 极限编程(XP)推崇测试优先原则,由此引发了软件开发方法从传统的瀑布模型转向以测试为驱动的敏捷开发模 ...

  4. Java类集-list

    Collection 子接口: ArrayList是List 接口和Collection接口的一个子类,用于实例化两种接口 package leiji; import java.util.ArrayL ...

  5. 一步步玩pcDuino3--mmc下的bootloader

    pcDuino3下支持mmc启动.官方的Uboot是採用SPL框架实现的,由于内部的SRAM空间达到32K,我们全然能够在这32K空间内编写一个完整可用小巧的bootloader来完毕引导Linux ...

  6. arm linux串口蓝牙工具移植及使用【转】

    本文转载自:http://blog.csdn.net/hclydao/article/details/51451725 p6212中串口蓝牙在linux下的使用记录 一.linux蓝牙工具移植 主要使 ...

  7. python chunk 方式读取大文件——本质上还是file read自身支持

    参考:https://stackoverflow.com/questions/519633/lazy-method-for-reading-big-file-in-python 最优雅方式: file ...

  8. bzoj 3231 [ Sdoi 2008 ] 递归数列 —— 矩阵乘法

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3231 裸矩阵乘法. 代码如下: #include<iostream> #incl ...

  9. 排序系列 之 堆排序算法 —— Java实现

       基本概念: 二叉堆是完全二叉树或者是近似完全二叉树. 当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆. 当父结点的键值总是小于或等于任何一个子节点的键值时为最小堆. 一般将二叉堆简称 ...

  10. Palindrome(dp)

    http://poj.org/problem?id=1159 题意:给定一个字符,问最少插入多少字符,使该字符串变成回文字符串. 思路:设原字符串序列为X,其逆字符串为Y,则最少插入的字符数=leng ...