我有一个使用NextJS构建的Web应用程序。我的目标是创建一个可以使用BrowserView
远程提供该Web应用程序的Electron应用程序。我不希望Electron应用程序内部包含任何本地资产,例如.js包。
我已经定义了main.js
和preload.js
,并且在开发模式下(我使用electron .
运行),该应用正常运行。
我正在使用electron-builder
来构建应用。我在package.json
中定义了配置。
"main": "electron/main.js",
"build": {
"appId": "appid",
"productName": "ProductName",
"copyright": "Copyright @ 2019",
"mac": {
"category": "public.app-category.business"
},
"directories": {
"buildResources": "electronBuildResources",
"output": "electron-dist"
}
},
首先,由于此错误Error: Unresolved node modules: worker-loader, webpack-cli
,它失败了。但是我不需要为该应用程序构建任何本地资产,为什么我在这里需要Webpack?我什至没有Webpack作为依赖,因为NextJS在内部处理所有建筑物。
我可以使用ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true
跳过错误。但是,当它继续时,它将重建我的一些node_modules,而我并不需要它。我的main.js
和preload.js
内部只有require("electron")
,没有其他部门。在最终的构建目录中,我还有一个包含某些软件包的node_modules
目录。但是我也不需要它们。
问题是,如何只将main.js
和preload.js
打包到一个最小的Electron应用程序中,而完全不接触我的Web应用程序的node_modules?