桌面APP打包利器 —— Node-webkit-程序员宅基地

技术标签: 项目搭建  前端  实习  webkit  javascript  

一、node-webkit 是什么

Github仓库

NW.js 是一个基于Chromium和的应用程序运行时node.js。您可以使用 NW.js 以 HTML 和 JavaScript 编写本机应用程序。它还允许您直接从 DOM 调用 Node.js 模块,并支持使用所有 Web 技术编写本机应用程序的新方法。

简单的说:平时开发页面时打开是使用浏览器打开的,但通过node-webkit打包后,项目就不用依赖浏览器,内部已经集合了浏览器内核,跟想一款桌面APP

二、安装 node-webkit

下载地址:国外 - 国内


解压文件,即可使用

三、打包项目并配置

  • package.json 配置信息如下
{
    
    "main": "index.html", // 配置项目起始页
    “name”: "nw-demo", // 应用取个唯一的名称(任意)
    ”description“: "项目描述信息"// 项目描述信息
    “version”: "0.0.1", // 定义版本号
    "keywords": ["demo", "node-webkit"], // 项目关键字
    "window": {
    
        "title": "如果 index.html 没有设置 title,则会显示这里的值",
        "icon": "./logo.png", // 图标路径
        "position": "center", // 客户端唤醒窗口所在位置
        ”width“: "680", // 客户端唤醒窗口宽度
        ”height“: "420", // 客户端唤醒窗口高度
        ”toolbar“: true, // 是否显示工具栏(调试阶段)
        ”frame“: true, // 是否显示最外层框架(窗口最小化、最大化、关闭)
        ”resizable“: true, // 是否设置可伸缩
        ”min_width“: "640", // 最小宽度
        ”min_height“: "200", // 最小高度
        "max_width": "1200", // 最大宽度
        ”max_height“: "600", // 最大高度
        "always_on_top": true, // 是否始终显示在最上层
        ”fullscreen“: true, // 是否全屏
    }
}

压缩文件(index.html,package.json,logo.png)并将app.zip重命名为后缀名为.nw

启动项目

  • 第一种方法

在这里插入图片描述

  • 第二种方法:将app.nw移动到跟 nw.exe 同一级目录中,并cmd 进入改目录
    在这里插入图片描述
    此时在该目录下会生成 app.exe,打开即可直接运行
    在这里插入图片描述

前两种方法效果图

在这里插入图片描述
两种方法有一个弊端:就是必须依赖 node-webkit(一旦没有该环境就不能运行)即将 app.exe发送给其他人,别人无法运行该项目

由此,Enigma Virtual Box 就派送用场了。

四、安装 Enigma Virtual Box

Enigma Virtual Box 官网

打开 enigmavb.exe

在这里插入图片描述

在这里插入图片描述
app_boxed.exe发生给别人就可以运行了。但这种方法有一个弊端就是体积过大。

五、打包 vue 项目

进入项目,执行命令npm run build,生成的 dist文件夹就等价于前面提到的app文件夹,再增加一个配置文件package.json即可。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44659458/article/details/122325640

智能推荐

MFC链接SQL Server ——学生成绩管理系统-程序员宅基地

文章浏览阅读3.3k次,点赞18次,收藏67次。MFC链接SQL Server连接数据库新建一个udl文件,服务器名称与SQL Server服务器保持一致。选择相应的数据库,测试连接。(先建好数据库)将udl文件改成txt文件。打开该文件,第3行为SQL Server数据库连接字符串。在MFC项目中添加连接代码新建基于对话框的MFC应用程序项目,按学号命名。在电脑查找msado15.dll的路径,例如:C:\Program Files (x86)\Common Files\System\ado\msado15.dll在MFC项目头文

报童问题求解最大利润_第3章 第2节 处理分类问题常用算法(二)-程序员宅基地

文章浏览阅读623次。● 分层抽样的适用范围参考回答:分层抽样利用事先掌握的信息,充分考虑了保持样本结构和总体结构的一致性,当总体由差异明显的几部分组成的时候,适合用分层抽样。● LR的损失函数参考回答: M为样本个数,为模型对样本i的预测结果,为样本i的真实标签。● LR和线性回归的区别参考回答:线性回归用来做预测,LR用来做分类。线性回归是来拟合函数,LR是来预测函数。线性回归用最小二乘法来...

springboot集成sharding-jdbc_springboot整合shardingjdbc-程序员宅基地

文章浏览阅读2.8k次。springboot集成sharding-jdbc,通过sharding-jdbc实现mysql主备分库,数据库连接池采用阿里巴巴的druid,数据库orm框架采用mybatis_springboot整合shardingjdbc

SECS/GEM实现_secs gem引用哪个using-程序员宅基地

文章浏览阅读4.1w次,点赞2次,收藏4次。SECS/GEM是半导体以及光伏行业等采用的通讯基础,在此之上进行搭建EAP,MES等管理系统。SECS/GEM使用起来会有许多注意内容,例如TCP/UDP,R232等通讯问题,以及通讯安全问题等。通讯双方认证,避免信息暴露以及后门问题等。金南瓜DMS安全,且经过大量工厂严格考验,其中不乏JECT,科瑞,三安等,在稳定性要求极高,稳定性高的SECS/GEM也带来设备的极好体验,让客户工程师使..._secs gem引用哪个using

在Lazarus中对字符串进行代码页转换_lazarus codepage-程序员宅基地

文章浏览阅读2.3k次。由于Lazarus基于UTF-8,因此当读写Windows建立的纯文本文件的时候,由于其中的中文使用GBK(CP936)编码,可能会出现错误。此时可使用Lazarus自带的代码页转换单元LConvEncoding对编码进行转换。如UTF8和GBK互转function CP936ToUTF8(const s: string): string; // Chinesefunction UTF8_lazarus codepage

基于Intel 的淡水养殖水质溯源、优化系统方案_水产养殖 数字孪生方案-程序员宅基地

文章浏览阅读297次。8月24日,日本政府无视国际社会的强烈质疑和反对,单方面强行启动福岛核污染水排海。海关总署决定在当日起全面暂停了进口原产地为日本的水产品。海鲜市场遭遇了前所未有的困境。消费者对于核污水问题的恐慌已经超越了个人口腹之欲,海鲜销售量急剧下降。同时,二级市场对核污染水排海事件的敏度同样很高。受该消息影响,核污染水排海相关多个概念股异动,出现大幅度拉升甚至涨停。淡水水产可能会成为其替代品,从而推动淡水养殖行业的景气度提升。_水产养殖 数字孪生方案

随便推点

Spring Boot @PathVariable出现点号"."时导致路径参数截断获取不全的解决办法_springboot 路径参数 不支持点-程序员宅基地

文章浏览阅读4.9k次。@PathVariable出现点号"."时导致路径参数截断获取不全的解决办法时间:2015-05-28 17:59:54 阅读:756 评论:0 收藏:0[点我收藏+]标签:springmvc pathvaria 小数点 点 参数不全 1、问题 SpringMVC项目中通过下面的URL进行GET请求。当versi_springboot 路径参数 不支持点

Android与H5的交互_window['userinfo']-程序员宅基地

文章浏览阅读289次。如今H5的广泛应用,使得Android与H5交互也变得十分广泛,这篇文章就交互问题浅谈一下。 Android通过内置的控件Webview来加载H5页面。webview的应用十分简单,只有设置一下其属性即可。代码如下: webView.setVerticalScrollBarEnabled(false);webView.setHorizon_window['userinfo']

oracle正则表达式regexp_like的用法详解_oracle regexp_like \n\t\r-程序员宅基地

文章浏览阅读4.8w次,点赞6次,收藏97次。ORACLE中的支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与LIKE的功能相似 2,REGEXP_INSTR :与INSTR的功能相似 3,REGEXP_SUBSTR :与SUBSTR的功能相似 4,REGEXP_REPLACE :与REPLACE的功能相似 它们在用法上与Oracle SQL 函数LIKE、INSTR、SUBSTR 和REPLACE 用法相同,..._oracle regexp_like \n\t\r

Android事件分发-来龙去脉_android drop事件分类-程序员宅基地

文章浏览阅读264次。关键词:Android、事件分发、源码剖析情境(Situation)1. 专注于移动互联网数年,作为高P的我【鼓掌】竟然对事件分发机制见招拆招,似懂非懂。不专业,没法忍。2. View树的递归嵌套逻辑让广大一线同行云里雾里,手足无措。冲突(Complication)1. 网上好多相关主题的博客,描述信息点非常多(但是ACTION_CANCEL描述很少),看完后不明觉厉。2. 事件分发主..._android drop事件分类

Git详解_git 理论-程序员宅基地

文章浏览阅读201次。版本控制是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,如RCS(就类似于自己写很多个版本一样,不断改进的版本)所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改。..._git 理论

elf/lib/rv32i/ilp32\libc.a(lib_a-closer.o): in function `.L0 ‘: closer.c:(.text+0x1c): warning: _clo_warning: _close is not implemented and will always-程序员宅基地

文章浏览阅读1.9k次。使用eclipse工具新建工程,编译报错,elf/lib/rv32i/ilp32\libc.a(lib_a-closer.o): in function `.L0 ':closer.c:(.text+0x1c): warning: _close is not implemented and will always fail具体log信息如下:查看工程设置。project->properties->toolchains:toolchains path空出来,什么都不填._warning: _close is not implemented and will always fail