npm install electron --save-dev

npm install electron-packager -g




    

// 克隆示例项目的仓库
git clone https://github.com/electron/electron-quick-start
// 进入项目
cd electron-quick-start
// 安装依赖
npm install
// 运行
npm start

<script src="./renderer.js"></script>

electron-packager <sourcedir> <appname> --platform=<platform> --arch=<arch> [optional flags...]

命令 说明
sourcedir 应用程序源的基本目录
appname 应用程序的名称
version 打印Electron Packager和Node的版本,以及目标平台和arch,用于错误报告,并立即退出

命令 说明
all 等效于–platform=all –arch=all
app-copyright 应用程序版权发行
app-version 应用设置的应用版本发布版本
arch 架构选择,可选值: ia32, x64, armv7l, arm64, mips64el, universal(通用,可用逗号分隔)
Windows(用于x86、x86_64和arm64体系结构)win32
macOS/Mac App Store(用于x86_64,arm64和通用架构)darwinmas
Linux(适用于x86、x86_64、armv7l、arm64和mips64el架构)
asar 将应用程序中的源代码打包到程序中。pass——asar使用默认配置,配置属性–asar.unpackDir=sub_dir
支持的属性包括:
- ordering: 用于文件打包的排序文件的路径
- unpack: 将文件解包到应用程序
- unpackDir: 将目录解包到应用程序
build-version 应用程序生成版本
download 传递给@electron/get的子选项列表。它们通过点符号指定, 例:–download.cacheRoot=/tmp/cache
支持属性:
- cacheRoot: 缓存的Electron下载目录
- mirrorOptions: 下载备选URL选项
- rejectUnauthorized: 下载时是否要求SSL证书有效,默认为true, 使用–no-download 拒绝检查
electron-version 正在打包的电子版本
electron-zip-dir 包含Electron ZIP文件的目录的本地路径
executable-name 可执行文件的名称,无文件扩展名。默认为appname
extra-resource 要复制到应用程序资源目录的文件
icon 应用程序图标文件的本地路径
ignore 不要打包某个文件夹。如:–ignore=node_modules 可设置–no-prune
no-deref-symlinks 确保应用程序源中没有取消对符号链接的引用
no-junk 不要忽略打包应用程序中的系统垃圾文件
no-prune 不要删除打包应用程序中的devDependencies
out 应用程序输出目录,默认为当前目录
overwrite 如果平台的输出目录已经存在,则替换它,而不是跳过它
platform 要构建哪个平台的应用(Windows/Mac/Linux)可选值: darwin, linux, mas, win32 (如果有多个,则以逗号分隔)
prebuilt-asar 预构建asar文件的路径(asar, ignore, no-prune, 或no-deref-symlinks)
quiet 不要打印信息或警告消息
tmpdir 临时目录。默认为系统临时目录,使用–no tmpdir禁用使用临时目录。

命令 说明
app-bundle-id 要在应用程序plist中使用的绑定标识符
app-category-type 应用程序类别类型
例如 app-category-type=public.app-category.developer-tools 将应用程序类别设置为“开发者工具”。
darwin-dark-mode-support 在打包的应用程序中强制支持Mojave/10.14暗模式
extend-info a plist file to merge into the app plist
helper-bundle-id 要合并到应用程序plist的plist文件
osx-sign (仅限macOS平台)是否签署macOS应用程序包。
可使用–osx-sign自行签名以使用默认配置, 或使用其他配置
例:–osx-sign.identity=”My Name”
支持的属性包括:
- identity: 应包含运行“codesign”时要使用的标识`
- entitlements: 签名时使用的授权路径
- entitlements-inherit: “子女”权利的路径
osx-notarize (仅限macOS平台,需要–osx签名)是否对macOS应用进行公证包装。
例:–osx-notarize.appleId=” foo@example.com
支持属性包括:
- appleId: 包含你的apple ID用户名/电子邮件
- appleIdPassword: 包含提供的apple ID的密码
- appleApiKey: 包含应用商店连接API密钥
- appleApiIssuer: 包含API密钥的颁发者
protocol URL协议方案,将应用程序注册如下:
例: --protocol=myapp 将注册要打开的应用程序
URLs: myapp://path 此参数需要 --protocol-name
protocol-name 通过–protocol指定的URL协议方案的描述性名称`
usage-description 关于应用程序如何使用某些macOS功能的可读描述。
支持列表:
- Camera
- Microphone

命令 说明
win32metadata 用于设置嵌入到中的应用程序元数据
例:–win32metadata.CompanyName=”Company Inc.”
或 –win32metadata.ProductName=”Product”
支持属性:
- CompanyName (默认值: package.json中的名字)
- FileDescription (默认值: appname)
- OriginalFilename (默认值: renamed exe)
- ProductName (默认值: appname)
- InternalName (默认值: appname)
- requested-execution-level (user, asInvoker, or requireAdministrator)
- application-manifest

electron-packager mysite --platform=win32 --arch=x64 --out outsite --icon=icon.ico --app-version=0.0.1 --overwrite --ignore=node_modules 

变量名:ELECTRON_MIRROR:
变量值:https://cdn.npm.taobao.org/dist/electron/