首页 > 编程语言 >【nw.js】使用nw.js将html页面打包成exe免安装程序

【nw.js】使用nw.js将html页面打包成exe免安装程序

时间:2024-02-06 21:32:22浏览次数:39  
标签:文件 exe dist zip app js nw

@[TOC]

一、批处理zip命令(已有可跳过此步骤)

  1. 下载zip,你可以到该网址下载zip执行文件,如下图:
  2. 【nw.js】使用nw.js将html页面打包成exe免安装程序_批处理

  3. 将文件路径配置到环境变量中,具体操作如下: 右键计算机——>属性——>高级系统设置——>高级——>环境变量——>系统变量——>找到path,双击——>新建——>将所在路径添加进去(如:“F:\zip”包含进环境变量),之后点击确定就可以了。

二、nw.js包

下载地址:nwjs-v0.82.0-win-x64.zip,将需要打包的资源目录(如下图app目录)放到nw根目录同级

【nw.js】使用nw.js将html页面打包成exe免安装程序_环境变量_02

app目录包含三部分,如下图:

  1. dist打包文件目录(由批处理自动生成)
  2. src资源文件目录
  3. build-src-to-dist.bat批处理文件

三、使用批处理命令打包成exe可执行文件

1.编写build-src-to-dist.bat文件内容,文件内容如下:

:: 重置dist目录
rd dist
mkdir dist

:: 切换目录
cd src

:: 把需要打包的资源打个名为zip的压缩包,注意外面不用套文件夹
zip app.zip 2.jpg 9.jpg index.html package.json

:: 重命名zip文件为nw文件
ren *.zip app.nw

:: 把文件移动到上级目录中
move app.nw ../../nwjs-v0.82.0-win-x64/app.nw

:: 向上一级目录
cd ../../nwjs-v0.82.0-win-x64

:: 执行nw打包命令
copy /b nw.exe+app.nw AutoLottery1.1.exe

:: 移动到dist中
move AutoLottery1.1.exe ../app/dist/AutoLottery1.1.exe

:: 删除nw文件和exe文件
del app.nw
del AutoLottery1.1.exe

:: 结束
pause
  1. 双击build-src-to-dist.bat文件,执行批处理,结束后会在dist目录中会生成.exe文件。注意:此时的.exe文件依赖外部dll文件才能运行!

四、使用EnigmaVB打包成免安装可独立运行的exe文件

EnigmaVB下载地址:Enigma Virtual Box,如下图:

【nw.js】使用nw.js将html页面打包成exe免安装程序_批处理_03

  1. 选择待封包的.exe主程序到下图1;
  2. 选择拖拽除.nw文件(已经通过批处理删除)和主程序.exe文件之外的全部内容到下图2;
  3. 鼠标点击下图2处的空白处(注意:必须点!!!必须点!!!必须点!!!原因未知。);
  4. 执行封包,如下图3;

如有疑问,请参考详细教程链接

【nw.js】使用nw.js将html页面打包成exe免安装程序_环境变量_04

五、结束

此时在封包另存目录就会有一个比之前的.exe体积更大的.exe文件,这个文件可以移动到任何位置双击直接使用。

标签:文件,exe,dist,zip,app,js,nw
From: https://blog.51cto.com/u_16561357/9631848

相关文章

  • 并发容器【ConcurentHashMap、CopyOnWriteArrayList、阻塞队列、ArrayBlockingQueue】
    (并发容器)转自极客时间什么是并发容器?在JUC包中,有一大部分是关于并发容器的,如ConcurrentHashMap,ConcurrentSkipListMap,CopyOnWriteArrayList及阻塞队列。这里将介绍使用频率、面试中出现频繁的最高的ConcurrentHashMap和阻塞队列。注意:这里说到的容器概念,相当于我们理解中......
  • spring boot controller设置返回json
    在SpringBoot中,Controller通常会返回JSON格式的数据,这得益于SpringBoot的自动配置能力以及内嵌的Jackson库。以下是如何设置Controller返回JSON数据的基本步骤:添加依赖:首先,确保你的项目中包含了SpringBoot的WebStarter依赖,它已经包括了Jackson库,用于处理JSON序列化。<dependen......
  • app.json 中未定义自定义编译中指定的启动页面
    换了启动页,这里得手动改。。。。。。。。。。。[app.json或自定义编译条件错误]app.json中未定义自定义编译中指定的启动页面./pages/index/index(env:Windows),......
  • nodejs学习计划--(三)http协议和IP介绍
    一、HTPP协议1、概念HTTP(hypertexttransportprotocol)协议;中文叫超文本传输协议是一种基于TCP/IP的应用层通信协议这个协议详细规定了浏览器和万维网服务器之间互相通信的规则。协议中主要规定了两个方面的内容客户端:用来向服务器发送数据,可以被称之为请求报文服务端......
  • js相关知识
    toFixed(num)只保留小数点后几位例如:console.log(0.1+0.2)   //0.300000000000004console.log((0.1+0.2).toFixed(1));   //输出值为0.3 === 比较运算符,要求数值和数值类型都要相等,返回truedocument.writeln(数据) 能将数据输出到页面上 遍历数组的两种方......
  • nginx改变访问应用端口以及解决css,js或表单提交访问不到的问题
    场景如果原先某个网站是通过ip:8080直接访问的,现在想要加个前缀,并且去掉端口进行访问,比如ip/myapp去访问这个项目,可以通过nginx来实现这个过程。最近有个需求需要变更redmine的访问路径,从ip:8080改成ip/redmine,下面以redmine举例子。配置过程以ip/redmine来访问原先ip:8080的项......
  • 使用JS来开发ProComponents的ProTable案例
    ProComponents的ProTable组件是基于React和TypeScript开发的,但也可以在JavaScript项目中使用。以下是一个使用JavaScript的ProTable示例:import{useState,useRef}from'react';import{Button}from'antd';importProTablefrom'@ant-design/pro-table&#......
  • nodejs中实现sm4加解密
    SM4是中国密码局颁布的一种分组密码算法,也称为国密SM4。它是基于对称密钥加密算法的一种分组密码算法,具有较高的安全性和较快的加密速度。SM4使用128位的密钥和128位的分组进行加密。sm-crypto是一个支持国密SM2、SM3、SM4等算法的Node.js加密库。要使用sm-crypto库......
  • JS数组添加元素的三种方式
    JS数组添加元素的三种方式1、push()结尾添加数组.push(元素)参数描述newelement1必需。要添加到数组的第一个元素。newelement2可选。要添加到数组的第二个元素。newelementX可选。可添加多个元素。2、unshift()头部添加数组.unshift(元素)参数描述newelement1必......
  • 初中英语优秀范文100篇-080The benefits of taking exercise-锻炼的好处
    PDF格式公众号回复关键字:SHCZFW080记忆树1Withthedevelopmentofoursociety,increasingimportancehasbeenattachedtohealthissues.翻译随着社会的发展,人们对健康问题的重视程度越来越高。简化记忆健康句子结构increasingimportance(主语)+hasbeenattach......