electron打包运行白屏、Can not find modules ‘xxx‘,Dynamic Linking Error

news/2024/11/28 21:49:43/

Can not find modules

原因:应该写在dependencies里的写在了devDependencies,或者相反。有些依赖写反了是可以运行的,但是打包不行

在Electron项目中的package.json文件中,dependencies和devDependencies都是用来声明应用程序所依赖的npm包的。它们之间的区别在于:

dependencies

dependencies是指应用程序在运行时所需要的依赖包,它们会被打包到最终的应用程序中。这些依赖包通常是应用程序的核心功能所需要的库和框架,例如Electron本身以及应用程序所依赖的第三方库。当用户安装应用程序时,这些依赖包会被一起安装。

例如,在package.json文件中,以下代码声明了Electron和jQuery作为应用程序的依赖包:

{"dependencies": {"electron": "^9.0.0","jquery": "^3.5.1"}
}
devDependencies

devDependencies则是指应用程序在开发过程中所需要的依赖包,它们不会被打包到最终的应用程序中。这些依赖包通常是开发工具、测试框架、构建工具等,用于帮助开发人员构建、测试和部署应用程序。当开发人员使用npm安装应用程序时,这些依赖包会被一起安装。

例如,在package.json文件中,以下代码声明了Electron Packager和Mocha作为应用程序的开发依赖包:

{"devDependencies": {"electron-packager": "^15.2.0","mocha": "^8.3.2"}
}

需要注意的是,dependencies和devDependencies之间的区别只是在打包和安装应用程序时的行为不同,但它们都是用来声明应用程序所依赖的npm包的。在开发过程中,通常需要安装devDependencies中声明的依赖包,以便进行开发、测试和构建等操作。

运行白屏、源代码无法加入打包或加入了找不到文件

原因:源代码未加入打包,加入位置错误

所有源代码在package.json文件中的files中添加,这里有一个坑是假如某个文件在extraFiles里添加了,那么在files里添加是无效的(原因未知,知道的小伙伴欢迎告知~谢谢),在extraFiles里加的源代码会导致源代码跟main.js入口文件不是同一级目录。

main.js的目录在:

  • 跟asar配置有关
//"asar": true,
./resources/app.asar//"asar": false,
./resources/app

Dynamic Linking Error

原因:动态库找不到。DLL等动态库需要在package.json文件中的extraFiles里面添加,在files添加还是会报这个错误(原因未知,知道的小伙伴欢迎告知~谢谢)


http://www.ppmy.cn/news/62991.html

相关文章

Design principle: Immutability不可变性与对mutable变量的Synchronization方法

不可变性(Immutability)在设计模式中是指一个对象在创建后其状态就不能改变。这是一种编程思想和设计原则。在某些情况下,使用不变对象可以带来许多好处: 简化代码 make things very simple:不可变对象在创建后状态不会…

linux和window下svn版本控制可视化工具

之前一直用命令行来拉取代码建立分支,推送代码等等 也不是不行,但是用久了,感觉很麻烦,后面就用了svn的版本可视化工具 linux和window下svn版本控制可视化工具 Linux环境下使用图形化界面的SVN客户端软件,那么RabbitVC…

「SQL面试题库」 No_58 游戏玩法分析 V

🍅 1、专栏介绍 「SQL面试题库」是由 不是西红柿 发起,全员免费参与的SQL学习活动。我每天发布1道SQL面试真题,从简单到困难,涵盖所有SQL知识点,我敢保证只要做完这100道题,不仅能轻松搞定面试&#xff0…

文鼎创智能物联云原生容器化平台实践

作者:sekfung,深圳市文鼎创数据科技有限公司研发工程师,负责公司物联网终端平台的开发,稳定性建设,容器化上云工作,擅长使用 GO、Java 开发分布式系统,持续关注分布式,云原生等前沿技…

@EnableFeignClients的由来

1.注解EnableFeignClients:扫描和注册feign客户端bean定义: 在Spring cloud应用中,当我们要使用feign客户端时,使用注解EnableFeignClients启用feign客户端;注解EnableFeignClients告诉框架扫描所有使用注解FeignClient定义的feig…

家里小孩要去学网络安全,网络安全行业前景到底怎么样?

最近接待了很多学生家长来咨询网络安全学习的问题。 家长们最主要关注三点:什么是网络安全?网络安全行业前景好吗?工资能拿多少?哪些专业什么学历可以学习网络安全? 那么盾叔就来综合解答一下。 什么是网络安全&…

Windows搭建C++开发环境(visual studio 2022)

开发环境的搭建 开发工具:vscode、visual studio 2022、visual studio 2019、2015、2010 .. 安装步骤(以Windows下visual studio2022为例): 打开官网地址 Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 (microsoft.com…

服务远程调用、ribbon负载均衡、nacos注册中心

1.服务拆分和远程调用 任何分布式架构都离不开服务的拆分,微服务也是一样。 1.1.服务拆分原则 这里我总结了微服务拆分时的几个原则: 不同微服务,不要重复开发相同业务微服务数据独立,不要访问其它微服务的数据库微服务可以将…