node.js - 有没有一种方法可以打包Electron应用程序,以使其具有.exe文件和仅包含HTML/JS/CSS文件的文件夹?

标签 node.js electron electron-builder

我正在使用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文件夹中还有很多文件:

Files organisation

因此,对于用户而言,这并不是很直观,他们必须转到“resources/app.asar.unpacked/container/”文件夹以更新其文件。

他们不是有这样的输出的方法吗?

Desired_organisation

最佳答案

您是否考虑过在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/

相关文章:

node.js - 使用 Node/Express 发送后不断收到 "Can' t set headers

javascript - node_modules 中的代码未反射(reflect)在浏览器中

javascript - 为 Google Assistant 执行命令 - Node js

javascript - 点击后不出现的模态窗口

javascript - SimulatedGreg Electron-Vue-Vuetify错误消息: [Vue warn]: Unknown custom element: <v-app> - did you register the component correctly?

javascript - 如何导出带有方法和属性的对象

vue.js - 如何定位多平台-Vue CLI插件Electronic Builder

node.js - 删除请求的请求率较大

electron - 如何将日期设置为 Electron 构建版本?

build - 如何使用 Electron 生成器更改应用程序图标