惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Security @ Cisco Blogs
H
Hacker News: Front Page
P
Privacy International News Feed
N
News and Events Feed by Topic
T
Threatpost
Simon Willison's Weblog
Simon Willison's Weblog
S
Schneier on Security
K
Kaspersky official blog
S
Secure Thoughts
V2EX - 技术
V2EX - 技术
Security Latest
Security Latest
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
CERT Recently Published Vulnerability Notes
L
Lohrmann on Cybersecurity
Jina AI
Jina AI
P
Proofpoint News Feed
AI
AI
雷峰网
雷峰网
T
Tailwind CSS Blog
Engineering at Meta
Engineering at Meta
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Recent Commits to openclaw:main
Recent Commits to openclaw:main
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
博客园 - 叶小钗
Webroot Blog
Webroot Blog
Apple Machine Learning Research
Apple Machine Learning Research
SecWiki News
SecWiki News
罗磊的独立博客
N
Netflix TechBlog - Medium
Martin Fowler
Martin Fowler
Google DeepMind News
Google DeepMind News
Cyberwarzone
Cyberwarzone
MongoDB | Blog
MongoDB | Blog
博客园 - Franky
Schneier on Security
Schneier on Security
The GitHub Blog
The GitHub Blog
S
Security Affairs
Blog — PlanetScale
Blog — PlanetScale
Last Week in AI
Last Week in AI
P
Proofpoint News Feed
月光博客
月光博客
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Securelist
W
WeLiveSecurity
T
Troy Hunt's Blog
A
Arctic Wolf
博客园 - 司徒正美

博客园 - 浊浊然

kkfileview5 安装 css毛玻璃效果 createjs 实现场景拖动、滚轮放大缩小 createjs 实现图片拖动 node-sass 安装不上的问题 nodejs 搭建本地服务器 微信小程序,真机上接口调不通 mysql 去除字段中 空格 制表符等 用jeesite做后台开发,新写了个前端业务系统的权限问题 uniapp 打包app 用到地图相关 升级node最新版本18.x .Error: error:0308010C js 读取url中参数值 linux php 安装oci8 h5+ 上传图片(选择图片、拍照) phpword 导出word,文件已损坏问题 Vscode 右键 open with code 没有的情况,使用以下注册表脚本 PhpSpreadsheet导出excel apache https小程序android ssl error js获取url参数,以及中文乱码问题 微信js上传图片并 展示,iphone下预览
electron nativefier打包网址 electron-winstaller制作安装包
浊浊然 · 2021-01-31 · via 博客园 - 浊浊然

npm 设置镜像仓库

npm config set registry https://registry.npm.taobao.org

npm config get registry  查看设置结果

安装nativefier  (nativefier  可直接将网址打包为可执行文件)

npm install nativefier -g

创建目录 myapp  

cd myapp

nativefier --name "testApp" --icon D:\text\favicon.ico http://text.xx/xx 

这个第一次执行会很慢,避免下载不动的问题,建议全局设置npm镜像,electron镜像(electron镜像建议使用huaweicloud,taobao镜像使用中发现有些包缺失)

打包成功生成目录:TestApp-win32-x64  点击目录下testApp.exe可进行访问

npm init

安装 electron-packager

npm install --save-dev electron-packager

{
  "name": "appname",
  "version": "1.0.0",
  "description": "",
  "main": "main.js",
  "scripts": {
    "build": "electron-packager . appname --win --out ./build --arch=x64 --icon=favicon.ico --overwrite --version-string.CompanyName='xx Inc.' --version-string.ProductName='xx系统'", //--ignore=node_modules
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "electron": "^27.0.3",
    "electron-packager": "^17.1.2",
    "electron-winstaller": "^5.2.0"
  },
  "dependencies": {
    "electron-squirrel-startup": "^1.0.0"
  }
}

main.js

if (require('electron-squirrel-startup')) return;//加上这一句,生成安装包,安装后可生成桌面快捷方式 npm i electron-squirrel-startup --save ,打包需要包含node_modules

const { app, BrowserWindow } = require('electron')
const path = require('path')
const url = require('url')

// 保持一个对于 window 对象的全局引用,不然,当 JavaScript 被 GC,
// window 会被自动地关闭
var mainWindow = null;

// 当所有窗口被关闭了,退出。
app.on('window-all-closed', function () {
    // 在 OS X 上,通常用户在明确地按下 Cmd + Q 之前
    // 应用会保持活动状态
    if (process.platform != 'darwin') {
        app.quit();
    }
});

// 当 Electron 完成了初始化并且准备创建浏览器窗口的时候
// 这个方法就被调用
app.on('ready', function () {
    // 创建浏览器窗口。
    //mainWindow = new BrowserWindow({ width: 800, height: 600 });
    
    //打开后全屏
    mainWindow = new BrowserWindow({show: false, autoHideMenuBar: true,movable:false,fullscreen:true,resizable:false,frame:false,

webPreferences: {
webSecurity: false, // 如果需要跨域,请打开注释
//contextIsolation: false, // 设置此项为false后,才可在渲染进程中使用electron api
//nodeIntegration: true, // node模块
},

});

    mainWindow.setTitle("xx系统");
    mainWindow.maximize();
    mainWindow.show();

    // 加载url
    //mainWindow.loadURL("http://www.baidu.com");
    //加载本地html文件
    mainWindow.loadURL(url.format({
        pathname: path.join(__dirname, 'center/index.html'),
        protocol: 'file:',
        slashes: true
    }));

    // 打开开发工具
    // mainWindow.openDevTools();

    // 当 window 被关闭,这个事件会被发出
    mainWindow.on('closed', function () {
        // 取消引用 window 对象,如果你的应用支持多窗口的话,
        // 通常会把多个 window 对象存放在一个数组里面,
        mainWindow = null;
    });
});

安装electron-winstaller (https://www.npmjs.com/package/electron-winstaller)

npm install --save-dev electron-winstaller

创建一个build.js

var electronInstaller = require('electron-winstaller');
var path = require("path");

resultPromise = electronInstaller.createWindowsInstaller({
    appDirectory: path.join('./TestApp-win32-x64'), //上面nativefier生成的打包文件的路径
    outputDirectory: path.join('./release'), //输出路径
    authors: 'zl', // 作者名称
description: '描述',// 新版必须 exe: 'TestApp.exe', //在appDirectory配置目录下寻找可执行的exe文件 noMsi: true, //不需要msi setupIcon:'./favicon.ico', //生成的exe文件的图标文件地址 setupExe:'testApp-setup-1.0.0.exe', //生成的安装包名称 title:'我的app', loadingGif:'./loading.gif' }); resultPromise.then(() => console.log("It worked!"), (e) => console.log(`No dice: ${e.message}`));

 执行 node build.js,release目录下会生成exe安装文件

附上镜像配置:

npm config set registry https://mirrors.huaweicloud.com/repository/npm/
npm config set disturl https://mirrors.huaweicloud.com/nodejs/
npm config set electron_mirror https://mirrors.huaweicloud.com/electron/

npm config set registry https://registry.npmmirror.com
npm config set disturl https://registry.npmmirror.com/dist
npm config set electron_mirror https://registry.npmmirror.com/electron/

想用淘宝镜像的直接用cnpm吧

yarn配置:

yarn config set registry https://mirrors.huaweicloud.com/repository/npm/
yarn config set disturl https://mirrors.huaweicloud.com/nodejs/
yarn config set electron_mirror https://mirrors.huaweicloud.com/electron/

yarn config set registry https://registry.npmmirror.com
yarn config set disturl https://registry.npmmirror.com/dist
yarn config set electron_mirror https://registry.npmmirror.com/electron/

electron镜像建议使用huaweicloud,taobao镜像(新地址:https://registry.npmmirror.com),注意淘宝镜像见到过有各种不同设置,直接用cnpm吧

补充:

可以使用innosetup制作windows安装包,官网:https://jrsoftware.org/isdl.php