NW.js构建PC收银端安装程序的指南
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.exeset npm_config_target=0.31.4set npm_config_arch=x64set npm_config_runtime=node-webkitset npm_config_build_from_source=trueset npm_config_node_gyp=C:\Users\NALA\AppData\Roaming\npm\node_modules\nw-gyp\bin\nw-gyp.jsnpm 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收银端安装程序的指南的更多相关文章
- NW.js构建桌面应用
最近要做个桌面的应用,用起来也方便.找了一圈发现NW.js挺容易上手,分享给大家. NW.js 官网https://nwjs.io/ 1.下载适合当前版本的js [这里下载的SDK版本,方便后续调试] ...
- JS判断PC和移动端设备
1.方法一 function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", ...
- 使用nw.js将html项目打包为桌面程序
首先需要确保电脑已经布置好node.js环境 1.下载并全局安装nw.js npm install nw -g 2.安装nw-builder模块 npm install nw-builder -g 3 ...
- JS判断PC还是移动端打开网页
最近在做移动端网站,也需兼容PC端.还没找到更好的方法,只能用javascr判断用户是在PC端打开还是移动端打开. JS判断 var isPC = function (){ var userAg ...
- 原生js获取pc和移动端屏幕宽、高的方法
pc端: var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; ...
- js判断pc还是移动端
if (!/windows phone|iphone|android/ig.test(window.navigator.userAgent)) { //pc }else{ //h5 }
- angular打包(二):nw.js
1 npm build 把ng编译出dist 2 单独写一个package.json 放在dist文件夹里. { "name": "app", "ma ...
- svn服务端安装、迁移教程、Eclipse切换svn连接库
svn服务端安装.迁移教程.Eclipse切换svn连接库 安装教程 1.下载svn服务端安装程序 2.运行程序,安装 这里端口号根据自己定义,避免与其他程序冲突 到这里就安装完成 迁移教程 这里举例 ...
- c/s端测试——nw.js篇(selenium工具)
最近在为兄弟部门开发自动化测试工具. 然后才知道现在竟然有JS工具可以把JS打包成cs端程序了,太牛了,js发展是真快.并且还是跨平台的,mac.windows.linux都支持. 当然,今天不是说n ...
随机推荐
- C - Reading comprehension 二分法 求等比数列前N项和
Read the program below carefully then answer the question. #pragma comment(linker, "/STACK:1024 ...
- C++ primer chapter 12
动态内存:之前的程序使用对象有着严格定义的生存期,会自动销毁.C++支持动态分配对象,动态分配对象的生存期和他们在哪里创建是无关的,只有当显式的被释放,这些对象才会销毁.标准库定义了智能指针对象可以自 ...
- [转]C#——细说事务
转自:风尘浪子 - 博客园 引言 其实事务在数据层.服务层.业务逻辑层多处地方都会使用到,在本篇文章将会为大家一一细说. 其中前面四节是事务的基础,后面的三节是事务的重点,对事务有基础的朋友可以跳过前 ...
- PHP array_key_exists()
定义和用法 array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false. 语法 array_key_exists(ke ...
- java 9 Spring Cloud @EnableEurekaServer javax.xml.bind.JAXBContext not present
java 9 Spring Cloud @EnableEurekaServer javax.xml.bind.JAXBContext not present jdk 8下面还可以正常启动,jdk9 ...
- but no declaration can be found for element 'aop:aspectj-autoproxy'.
1.错误描写叙述 Multiple annotations found at this line: - cvc-complex-type.2.4.c: The matching wildcard is ...
- HTML_项目符号使用图片
本文出自:http://blog.csdn.net/svitter 创建一个HTML页面. 其内容为一个无序列表. 列表中至少包括了5本畅销书,每本书之前的项目符号必须採用概述封面的缩略图. 这些信息 ...
- 邪恶的C++
曾经看到一篇很有趣的文章,今天转载一下.抱歉的是没有找到最原始的版本,算是遗憾吧. ---------- 华丽的分割线 ---------- Linus曾经(2007年9月)在新闻组gmane.com ...
- oc42--引用计数器
/* main.m 堆里面的内存释放是根据引用计数器,所以就是操作引用计数器. 创建一个对象,对象里面就有一个引用计数器,有多少指针指向它. 引用计数器为0就释放.任何一个对象初始化时就是1,所以 { ...
- arm linux串口蓝牙工具移植及使用【转】
本文转载自:http://blog.csdn.net/hclydao/article/details/51451725 p6212中串口蓝牙在linux下的使用记录 一.linux蓝牙工具移植 主要使 ...