我正在使用Electron为Windows生成一种“网站容器”,因为我的应用程序的用户需要在本地运行它(他们并不总是可以访问互联网),但是他们无法通过网络运行-服务器上的服务器,如果他们直接通过浏览器直接打开index.html文件,则会出现CORS问题。
Electron生成的应用程序用作容器,用户在github上获取其特定文件(带有HTML/CSS/JS文件的文件夹),并将它们放在Electron App中指定的文件夹中。 electronic中的main.js脚本仅运行浏览器窗口并加载HTML文件。
由于Web应用程序正在加载由用户修改的配置文件,因此他们必须有权访问应用程序文件,我无法向他们发送打包的应用程序。
目前,我正在使用带有“container”文件夹的此配置的Electron-builder包含所有网站文件
"build": {
"appId": "container.app",
"win":{
"target": "portable",
"icon": "favicon.ico",
"asarUnpack": [
"container/**"
]
}
}
这可以正常工作,但是除了网站文件之外,Electron文件夹中还有很多文件:
因此,对于用户而言,这并不是很直观,他们必须转到“resources/app.asar.unpacked/container/”文件夹以更新其文件。
他们不是有这样的输出的方法吗?
最佳答案
您是否考虑过在package.json中使用extraResources而不是解压后的asar? https://www.electron.build/configuration/contents
"build": {
"extraResources": ["./extraResources/**"]
}
这样会将您的文件放到“resources”文件夹中,您可以从代码中获取它们。
关于node.js - 有没有一种方法可以打包Electron应用程序,以使其具有.exe文件和仅包含HTML/JS/CSS文件的文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60038678/