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添加还是会报这个错误(原因未知,知道的小伙伴欢迎告知~谢谢)