vue+electron项目打包问题

打包报错关键信息:

Error: C:\Users\<我的用户名(英文)>\AppData\Local\electron-builder\Cache\nsis\nsis-3.0.3.2\Bin\makensis.exe exited with code 1

......

Error output:
Can't open output file
Error - aborting creation process

    at ChildProcess.<anonymous> (D:\work\qiqi\qiqi\qiqi\node_modules\builder-util\src\util.ts:244:14)
    at Object.onceWrapper (events.js:520:26)
    at ChildProcess.emit (events.js:400:28)
    at maybeClose (internal/child_process.js:1055:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)

在网上查看了一些electron打包出错的解决博客,很多是因为项目路径或者electron-builder文件夹路径有中文,所以报错,附上解决博客:文件名有中文、打包后白屏两个问题的解决方案electron-builder路径有中文解决方法

但是在我自己的项目 这两个问题都没有,但是打包时好时坏,很不稳定。

问题分析:

自己的打包命令运行的是 npm run build,在package.json文件里面build被定义的是:

"build": "node .electron-vue/build.js && electron-builder",

自己的项目使用了node的环境打包。和网上一些其他electron项目的打包命令有区别。

建议使用  npm run dist,在package.json文件里面 dist 定义如下:

"dist":"electron-builder"

直接使用 npm run dist 进行打包,打包效果完全没有差别,甚至更快!

最后附上自己项目打包所有的报错:

部分关键信息已打码 

Error: C:\Users\<用户名>\AppData\Local\electron-builder\Cache\nsis\nsis-3.0.3.2\Bin\makensis.exe exited with code 1
Output:
Command line defined: "APP_ID=com.example.yourapp"
Command line defined: "APP_GUID=1fb8a7aa-e784-579d-a981-2142d5507b97"
Command line defined: "UNINSTALL_APP_KEY=1fb8a7aa-e784-579d-a981-2142d5507b97"
Command line defined: "PRODUCT_NAME=qiqi"
Command line defined: "PRODUCT_FILENAME=qiqi"
Command line defined: "APP_FILENAME=qiqi"
Command line defined: "APP_DESCRIPTION=An electron-vue project"
Command line defined: "VERSION=1.0.0"
Command line defined: "PROJECT_DIR=D:\work\qiqi\qiqi\qiqi"
Command line defined: "BUILD_RESOURCES_DIR=D:\work\qiqi\qiqi\qiqi\build"
Command line defined: "APP_PACKAGE_NAME=qiqi"
Command line defined: "APP_64=D:\work\qiqi\qiqi\qiqi\build\qiqi-1.0.0-x64.nsis.7z"
Command line defined: "APP_64_NAME=qiqi-1.0.0-x64.nsis.7z"
Command line defined: "APP_64_HASH=F2A8803E3BCAA3AF180102FACF726803F6E1188030AE568DE89265C0C4EAA26344B87EBEC7580A25D4D9A863F1417E4A9CEC0814993D2622D234B2D49F667021"
Command line defined: "COMPANY_NAME=guhongxin"
Command line defined: "APP_PRODUCT_FILENAME=qiqi"
Command line defined: "APP_INSTALLER_STORE_FILE=qiqi-updater\installer.exe"
Command line defined: "COMPRESSION_METHOD=7z"
Command line defined: "ONE_CLICK"
Command line defined: "RUN_AFTER_FINISH"
Command line defined: "SHORTCUT_NAME=qiqi"
Command line defined: "UNINSTALL_DISPLAY_NAME=qiqi 1.0.0"
Command line defined: "ESTIMATED_SIZE=233635"
Command line defined: "COMPRESS=auto"
Command line defined: "UNINSTALLER_OUT_FILE=D:\work\qiqi\qiqi\qiqi\build\.__uninstaller-nsis-qiqi.exe"
Processing config: C:\Users\<用户名>\AppData\Local\electron-builder\Cache\nsis\nsis-3.0.3.2\nsisconf.nsh
Processing script file: "<stdin>" (UTF8)

Processed 1 file, 10 command line commands, writing output (x86-unicode):

Output: "D:\work\qiqi\qiqi\qiqi\build\qiqi Setup 1.0.0.exe"

Error output:
Can't open output file
Error - aborting creation process

    at ChildProcess.<anonymous> (D:\work\qiqi\qiqi\qiqi\node_modules\builder-util\src\util.ts:244:14)
    at Object.onceWrapper (events.js:520:26)
    at ChildProcess.emit (events.js:400:28)
    at maybeClose (internal/child_process.js:1055:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! qiqi@1.0.0 build: `node .electron-vue/build.js && electron-builder`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the qiqi@1.0.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\<用户名>\AppData\Roaming\npm-cache\_logs\2023-10-19T01_26_29_612Z-debug.log

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: VueElectron是一个基于Vue.jsElectron的框架,它可以帮助开发人员快速构建跨平台的桌面应用程序。Vue.js是一个流行的JavaScript框架,用于构建交互式Web界面,而Electron是一个基于Chromium和Node.js的框架,可以将Web技术用于桌面应用程序的开发。使用VueElectron可以使开发人员更轻松地开发功能丰富的桌面应用程序,并且可以同时支持Windows,Mac和Linux等多个平台。 ### 回答2: Vue Electron是一个基于Vue.jsElectron的框架,用于开发跨平台的桌面应用程序。Vue.js是一个流行的JavaScript框架,用于构建用户界面,而Electron是一个允许使用JavaScript、HTML和CSS开发桌面程序的开源框架。 Vue Electron的主要优点是它将Web开发和桌面应用程序开发结合在一起。开发者可以使用Vue.js的灵活性和易用性来构建用户界面,然后使用Electron将应用程序打包成可在Windows、macOS和Linux等平台上运行的桌面应用程序。 使用Vue Electron,可以利用丰富的Vue生态系统,包括Vue Router和Vuex等插件。开发者可以使用这些插件来管理应用程序的路由和状态,从而更容易地构建复杂的桌面应用程序。 此外,Vue Electron还提供了一些工具和技术,使开发桌面应用程序更加方便。例如,开发者可以使用Electron Builder来快速构建和打包应用程序,也可以使用Electron Debug工具来调试应用程序。另外,还有一些社区提供的插件,用于添加桌面通知、系统托盘和本地文件访问等功能。 总的来说,Vue Electron是一个强大而灵活的框架,可以让开发者使用Vue.js来构建出色的用户界面,并使用Electron将应用程序打包成跨平台的桌面应用程序。通过结合VueElectron的优势,Vue Electron能够帮助开发者更轻松地开发出功能丰富、易于维护的桌面应用程序。 ### 回答3: Vue Electron是一种结合了Vue.jsElectron框架的开发工具,用于创建跨平台的桌面应用程序。Vue.js是一种流行的JavaScript框架,用于开发现代的单页面应用程序。而Electron是一个开源的框架,可以利用前端技术(HTML、CSS和JavaScript)来构建跨平台的桌面应用程序。Vue Electron将这两种技术结合在一起,提供了一个强大的工具,使开发者能够轻松地使用Vue.js构建用户界面,并通过Electron将其打包为可在不同操作系统上运行的应用程序。 使用Vue Electron可以带来许多优势。首先,Vue.js的简洁语法和响应式数据绑定功能使得构建复杂的用户界面变得简单和高效。而Electron的跨平台特性则允许开发者使用相同的代码库创建可以同时运行在Windows、Mac和Linux等操作系统上的应用程序。 另外,Vue Electron还提供了许多工具和插件,使得开发过程更加便捷,例如vue-cli-plugin-electron-builder插件可以帮助开发者轻松地将Vue.js应用打包成可执行文件,并自动生成安装程序。此外,还有一些其他的插件可以帮助开发者实现一些高级功能,比如与本地文件系统的交互、系统托盘功能等。 总之,Vue Electron是一个非常强大的开发工具,它将Vue.jsElectron框架结合在一起,提供了一种便捷的方式来创建跨平台的桌面应用程序。无论你是前端开发者还是想要创建一个漂亮、高效的跨平台应用程序的个人或企业,Vue Electron都是一个值得考虑的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值