我正在使用yarn工作区为我的电子应用程序分离代码。我有三个工作空间:
-
server-在主线程中运行串行端口服务器
-
gui浏览器代码
-
app-定义电子应用程序的配置
这个
app
工作区从导入代码
gui
和
server
工作空间。当我试图打包我的代码时,这给我带来了各种各样的悲伤。
最初,该应用程序正在打包,但缺少我所有的node_module(例如抱怨找不到“电子松鼠启动”)。我读到我可以禁用提升,这样node_modules文件夹将包括它需要的所有模块。
"nohoist": ["**"]
由于我的应用程序在工作区之间导入,yarn创建了一个指向这些项目的符号链接。电子生成器似乎不喜欢这样,也不遵循符号链接,而是试图复制符号链接本身:
An unhandled rejection has occurred inside Forge:
Error: EPERM: operation not permitted, symlink 'C:\Users\joeja\projects\roguegeo\packages\server' -> 'C:\Users\joeja\AppData\Local\Temp\electron-packager\win32-x64\RogueGeo App-win32-x64-TeyVhU\resources\app\node_modules\@rg\server'
我一整天都在做这件事,从NPM的工作空间切换到了纱线。这只是一个又一个问题,我对此束手无策。
在开发中运行我的应用程序效果很好,只是试图打包它,这给我带来了问题。
我在某个地方读到,我可以添加一个afterCopy钩子来运行“纱线安装-生产”,但我还没能让它发挥作用。我也不认为它能解决我目前的问题,因为它也只会使用本地工作区的符号链接?
我如何使用纱线工作区并构建电子锻造应用程序?