", // chcp 65001是为了解决Windows平台在启动后答应的log中文乱码问题 "macpack": "electron-builder build --mac", // 用于打包...dmg安装包 "winpack": "electron-builder build --win" // 用于打包exe安装包 复制代码 在electron启动前端项目首先需要将打包后的前端代码放到项目...== 'darwin') app.quit();});复制代码关于package.json的编写由于使用的是electron-builder故可以去到该插件官网查看相关字段的文档。...解决方案是如果你确定你在打包后需要用到的包,在使用cnpm安装的时候不要加-D后缀,即使该包变成项目依赖而非开发环境依赖。...在本地和打包后的路径会有很大出入。使用app.isPackaged判断是否是打包后。如下来获取该目录正确地址来执行后端打包后的可执行文件。
应用程序安装目录 如果你在使用 electron-builder 打包你的应用时设置了不允许用户修改应用程序安装目录,那么你的应用程序会安装在用户的如下目录中: 64 位应用程序的安装目录:C:\Program...(其他国家语言文件,一般情况下可以删除) ├─ resources(应用程序资源及编译后的源码) │ ├─ app.asar(编译后的源码压缩文档) │ ├─ app.asar.unpacked(编译后的源码未压缩文档...(应用程序升级相关的配置文件) │ │ │ ├─ app.asar(编译后的源码压缩文档) │ │ │ ├─ app.asar.unpacked(编译后的源码未压缩文档) │ │ │ ├─ app(如果没有...需要注意的是,虽然以上目录内的文件都是加密存储的,但你只要把这个目录下的文件拷贝到另一台机器上,就可以用一个伪造的 Electron 程序读取到这些缓存文件内的数据。...setAsDefaultProtocolClient 方法,把自己的应用设置成可以通过外部连接唤起的应用,那么这个操作也会在用户的注册表内留下痕迹,如下为 GitHubDesktop 在我的注册表中写入的内容
,你完全可以用,没影响。...,该目录的根目录下存放打包后的安装包 bundled 该目录存放vue打包后的文件(html js css img等) win-unpacked 该目录存放编译后生成的可执行文件及相关的...dll,不包含安装包 resource 资源目录 unrelease 该目录存放编译期需要的资源 release 该目录存放编译后需要随安装包分发给客户的资源 script...ElectronAPI获取到的版本号,在开发环境下,是Electron.exe的版本号,不是你的项目的版本号 打包编译后,这个问题是不存在的。...ENV_NOW是当前的环境,开发环境下它的值为dev,打包编译后的生产环境它的值应为product, 因为现在我们是讲如何构建开发环境,引用的是dev.env.js, 等下一篇文章讲如何构建编译环境时,
今天我们来聊聊Go语言项目如何打包和部署。无论你是初学者还是资深开发者,了解如何将你的代码打包成可执行文件,并在不同环境下部署运行,都是一项非常重要的技能。...基本命令命令含义go run编译并马上运行 go 程序(只接收 main 包下的文件作为参数)go build编译指定的源文件、软件包及其依赖项,但它不会运行编译后的二进制文件。...-o指定生成的二进制文件名称 -p指定编译过程中可以并发运行程序的数量 -work打印临时工作目录的完整路径...以保持输出与默认版本分开跨平台交叉编译Go语言支持跨平台交叉编译,允许我们在一个平台上编写代码,编译出在另一个平台上运行的程序。...-X 参数可以在链接时将信息写入变量中,其格式为:package_name.variable_name=value查看编译后的二进制文件和版本信息.
Nuitka优点:Nuitka是另一种可以将Python编译为独立可执行文件的工具,但其工作原理与PyInstaller不同,它尝试直接将Python代码转换为C++代码再编译为本地机器码,理论上可以获得更好的性能...缺点:同样不适合生成独立运行的可执行文件,主要面向开发人员分发库和模块,而非终端用户。工具选择根据项目的实际需求,例如是否需要跨平台支持、是否要求独立运行、是否关注性能等,可以选择最合适的打包工具。...数据文件包含--add-data 将数据文件添加到打包后的程序中,并指定其在打包后的位置。...自定义.spec文件:pyinstaller your_script.spec:如果你有一个.spec配置文件,可以直接通过它来编译项目。根据.spec配置文件打包属于相对比较高级的用法,一般用不上。...打包后运行闪退,无法查看错误信息解决措施: 在cmd窗口中执行打包后的程序,可以查看到对应报错信息2.
今天我就来分享一下怎么使用一套代码,快速打包生成各主流平台安装包的经验。...-D 打包配置 在 my-electron 目录下的 package.json 中,添加打包配置: { "name": "my-electron", "version": "0.1.0",...在 package.json 中,添加对应的打包脚本: { … "scripts": { "dev": "electron ....electron-builder 在打包的时候,会根据系统的不同去各自的 NPM 缓存目录下查找对应版本的 Electron 源,当我们将下载好的源放在 NPM 缓存中后,就不需要再去联网拉去了。...总结 以上就是在不联网的情况下使用 electron-builder 打包全平台桌面应用的记录。 ~ ~ 本文完,感谢阅读! ~ 学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!
社交魔方平台是京东的 SNS 活动搭建平台,其内置了很多模板,每一个模板都有一个模板 JSON 用于生成表单,运营同学、商家配置了这个表单后就可以生成活动页面了。...所以搭建开发环境时不能像普通的前端应用一样一个 webpack 配置搞定。并且我们想要实现 一键启动开发环境 一键打包 一键发布 那么就需要两个 webpack 配置文件。...编译完成后使用 electron-builder[5] 打包。这样就实现了一键打包。 由于工具链的缺失实现不了一键发布,就只能打包后手动发布了(后面详细说明)。 下面就是完整的 scripts。...同时在 TS 环境中还需要添加 log 方法的类型声明。 七、打包,发布及更新 开源世界已经有非常完善的打包和发布的工具 -- electron-builder[14]。...从用户这一端来看,在应用每次启动的时候可以做一次请求,查询是否有版本更新,或者是在应用菜单栏提供入口,让用户手动触发更新查询。
应用是如何被打包成可执行文件进行了简单的介绍,并且谈到了默认情况下打包存在的问题。...electron-builder 打包 简单回顾下 Electron 打包后的结果 目录结构 我们的应用打包后的目录结构是这样的: . ├── locales │ ├── am.pak │ └─...electron.exe 我们应用的主程序。一个事先就编译好的程序,功能就是运行 resoruces/app.asar 这个文件内所包含的项目代码。...这些包是需要根据平台来编译后才能使用。electron-builder 打包时也是在打包某个平台的版本时重新安装相对应平台的依赖包。...在原本的项目下新建一个需要打包的文件夹 app。 如果项目下有 app 文件夹,electron-builder 在打包时会以改文件夹为打包的根文件夹,即只会打包改文件夹下的文件。
如果使用 electron-builder 进行打包,安装程序的大小为 36MB,这个大小是可以接受。 但是上面是一个空的项目,那么一个实际的项目打包之后有多大呢?...一个安装了 30+ 个依赖的项目,未生成安装包前,项目文件夹的大小是 230+ MB,生成安装程序后是 56.3 MB,生成安装程序之后的大小还是可以接受的,比空项目也只大了 20MB 左右。...打包后的项目结构 我们看下打包后的项目结构 (electron-builder --dir) 加上 --dir 参数,不将整个应用打包成安装文件,来查看一个应用的目录结构: .├── locales│ ...app.asar 在 dist/win-unpacked/resources/ 下生成了 app.asar 文件,这是一个用 asar 压缩后的文件。...可执行文件是怎么来的 通过实现一个通用的可执行程序,这个程序做的事情是将 resources/app.asar 作为项目根目录,运行 app.asar/package.json 中 main 指定文件作为入口文件
官方的目标定义: .Net 5.0单个文件解决方案应为: 广泛兼容:可以将包含IL程序集,随时运行的程序集,复合程序集,本机二进制文件,配置文件等的应用程序打包为一个可执行文件。...其它参数 除了上面的三个可选参数,我在查询文档的过程中还发现,官方还提到了其它参数的使用,目前不确定是否有效 ?...还可以通过设置 ExcludeFromSingleFile 元素,该设置将指定某些文件不嵌入单个文件之中。...运行打包程序 打包后的程序和未打包的发布程序在运行方式上没有太多的差异性,在 Windows 平台上,只需要双击 PreviewWebApplication.exe 就可以运行该打包程序了,本示例创建的是一个...WebApi 的程序,直接访问程序侦听的地址后得到接口返回的结果,如果您创建的是带有 Razor 视图或者携带其它资源文件的,可能无法访问指定的 url。
从最开始我开始写文章就讲过Node.js与Java的优缺点,我当时说过,JAVA能做的如果非要使用Node.js最后肯定是能实现的,但是我们会考虑用什么更加适合。...可能很多人对这个问题的答案抱着怀疑的态度。实际上Node.js现在生态圈越来越完善,所以用Node.js实际上可以非常轻松的架构一个桌面应用。今天我们来讲讲Node.js是如何构建一个桌面应用。...其实在我理解看来electron的角色有点类似于打包工具,我们可以使用H5开发一个网站,然后直接使用打包工具打包成一个app。...所以我们可以发现,我们使用electron进行桌面应用的开发我们不需要去了解我写的html是如何被转化成桌面应用执行程序的。用官方的解释来说就是简单的部分你来做,复杂的交给我们框架来负责实现。...如果想一次性打包所有操作系统的可执行文件,可以使用命令: electron-packager . niyueling --out ..
为了打包 electron 项目,我们需要至少两份 webpack 配置文件,一份打包主进程文件,指定 target 为 electron-main,另一份打包渲染进程,target 设置为 electron-renderer...这些问题该如何解决呢? 答案是预加载。在展示登录窗口时,我们可以提前将主窗口开启并设置隐藏,预加载主窗口的静态资源。用户登录后,再通过 IPC 消息通知主窗口展示,达到秒开的效果。...这个过程可以用下图表示: ? 除了窗口加载,在 Electron 中,require Node 模块也是相当昂贵的操作。...体积 同样受到开发者诟病的,还有 Electron 应用的体积 。一个空 Electron 项目,在打包后就会占据近上百兆空间。...这个命令会初始化一份默认的配置文件 .yarnclean 。yarn 在安装依赖后,将会自动根据 .yarnclean 进行依赖清理。
打包项目 Electron的打包工具有很多,例如 electron-builder、electron-packager 或 electron-forge。...这些工具可以帮助我们将 Electron 应用程序打包为可执行文件,并根据目标平台生成相应的安装程序或应用程序包。...electron-builder:是一个功能强大的打包工具,支持跨平台打包,并提供多种目标平台和格式的选项,如 Windows、Mac、Linux、NSIS、AppImage 等。...electron-packager:是另一个常用的打包工具,支持将 Electron 应用程序打包为各个平台的可执行文件,如 Windows、Mac 和 Linux 等。...# 安装打包程序 npm i electron-builder -D 配置 package.json 中的打包配置信息,增加如下内容: "build": { "appId": "com.xxxx.app
在使用electron-builder的时候,由于对机制的不熟悉,我们在打包过程中常常遇到很多环境错误,但最终只是一些简单的错误信息,难以排查问题。...该命令的作用就是针对即将打包的electron程序对应的node版本进行原生模块的编译工作,以达到模块运行时匹配。...实际上,install-app-deps内部依然使用了node-gyp相关知识,关于这一块的知识,读者可以翻阅我之前的文章《node-pre-gyp以及node-gyp的源码简单解析(以安装sqlite3...本文着重介绍electron-builder如何进行debug打印,好知道打包的过程中发生了什么。 首先我们准备在项目中,安装一个需要根据平台原生编译的npm包:images。...执行该脚本 DEBUG环境变量 在官方文档中指出了,你可以设置环境变量的方式来方便输出: Set the DEBUG environment variable to debug what electron-builder
"electron-builder" } 打包 生成 package 目录但是没有打包为一个文件 npm run pack 生成一个 exe 或者 dmg 文件 npm run dist 指定平台和架构...如果使用 electron-builder 进行打包,安装程序的大小为 36MB,这个大小是可以接受。 但是上面是一个空的项目,那么一个实际的项目打包之后有多大呢?...打包后的项目结构 我们看下打包后的项目结构 (electron-builder --dir) 加上 --dir 参数,不将整个应用打包成安装文件,来查看一个应用的目录结构: . ├── locales...app.asar 在 dist/win-unpacked/resources/ 下生成了 app.asar 文件,这是一个用 asar 压缩后的文件。...可执行文件是怎么来的 通过实现一个通用的可执行程序,这个程序做的事情是将 resources/app.asar 作为项目根目录,运行 app.asar/package.json 中 main 指定文件作为入口文件
应用路径 应用路径,一般情况下指的是使用 .dmg 或 .exe 安装程序完成安装后,存放应用程序的路径,在本例使用的是打包过程中生成的缓存目录,其效果是一样的: mac: [项目目录]/bin/mac.../trtc-electron-simple-demo.app ,(此路径可以直接使用 cd 指令访问)。...] 1.0% of 5.56 kB (0 B/s) 问题分析 在没有配置代理的情况下,因网络运营商的出口限制,npm 从国内直接访问国外的资源时,速度极低甚至超时失败。...npm install 方案 B 如果您是在公司办公,那么您公司的网络管理员可能已经设置了代理,需要确认 npm 的 proxy 配置是否指向了公司的代理服务器,以及是否配置了环境变量 ELECTRON_GET_USE_PROXY...问题1:.node 模块的加载问题 打包编译出的程序在运行时,在控制台中看到看到类似的报错信息: NodeRTCCloud is not a constructor NodeRTCCloud is
应用路径 应用路径,一般情况下指的是使用 .dmg 或 .exe 安装程序完成安装后,存放应用程序的路径,在本例使用的是打包过程中生成的缓存目录,其效果是一样的: mac: [项目目录]/bin/mac.../trtc-electron-simple-demo.app ,(此路径可以直接使用 cd 指令访问)。...] 1.0% of 5.56 kB (0 B/s) 问题分析 在没有配置代理的情况下,因网络运营商的出口限制,npm 从国内直接访问国外的资源时,速度极低甚至超时失败。...npm install 方案 B 如果您是在公司办公,那么您公司的网络管理员可能已经设置了代理,需要确认 npm 的 proxy 配置是否指向了公司的代理服务器,以及是否配置了环境变量 ELECTRON_GET_USE_PROXY...问题1:.node 模块的加载问题 打包编译出的程序在运行时,在控制台中看到看到类似的报错信息: NodeRTCCloud is not a constructor [NodeRTCCloud is
前段时间在制作词云制作小工具的时候,直接在命令行用pyinstaller -F 工具.py指令打包成功后,启动exe可执行文件的时候各种报错。 今天,我们就分享一下踩坑经过。 目录: 1....安装pyinstaller PyInstaller是一个用来将Python程序打包成一个独立可执行文件的第三方包。...成功后会在同级目录下生成一个dist文件,里面就是一个和代码文件名同名的可执行文件: ? 双击该可执行文件,我们可以看到直接在python解释器里运行测试.py文件时一样的结果: ?...如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字 打包一个带自定义icon的exe可执行文件 我们可以去这里下载icon文件: https://www.iconfont.cn/ 可以去这里将图片转化为...这里我用此前《词云绘制小工具》的案例来进行介绍。 我们直接用打包进阶体验中的命令可以进行成功打包,不过这里我们发现有两个问题:①包体很大,比此前案例里大了10倍左右;②启动exe文件的时候报错了。
更新功能: 文章回复功能完善:加入了点赞,踩,删除,回复,采纳; 编辑资料加入了我的消息模块:此版本主要加入了回复消息统一展示; 加入了简单的管理员功能,可以对垃圾文章和垃圾回复进行清理; 加入Docker...发布说明: 默认配置文件配置中,会将public,template目录进行二进制打包,随着可执行文件一同发布。因此,发布时仅需要将config.toml和focus拷贝到目标服务器运行即可。...此外,您也可以考虑将特定的配置文件用打包发布,那么发布时仅需要发布focus可执行文件即可。...如果您想同时打包配置文件到可执行文件中,那么您可以同时参考一下关于默认配置文件读取的修改方式:配置管理里#默认文件修改 四、项目结构 ├── app │ ├── dao │ ├── model │ ├─...public 静态目录 仅有该目录下的文件才能对外提供静态服务访问。 template 模板文件 MVC模板文件存放的目录。
领取专属 10元无门槛券
手把手带您无忧上云