使用电子生成器构建Windows应用程序,注册时,我收到此错误:
dyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
Referenced from: /Users/puss/Library/Caches/electron-builder/winCodeSign/winCodeSign-1.7.0/darwin/osslsigncode
Reason: image not found
Run Code Online (Sandbox Code Playgroud) 我正在用Electron构建一个应用程序并使用Electron Builder进行打包.运行电子时,我想传递这个命令行参数: - enable-mixed-sandbox.
可能吗?怎么样?
这个:
app.commandLine.appendSwitch('enable-mixed-sandbox')
Run Code Online (Sandbox Code Playgroud)
由于以下原因不起作用:
请注意,调用app.commandLine.appendSwitch(' - enable-sandbox')是不够的,因为电子/节点启动代码在可以更改铬沙箱设置后运行.必须在命令行上将开关传递给电子:
Run Code Online (Sandbox Code Playgroud)electron --enable-sandbox app.js只有某些渲染器才能激活操作系统沙箱,如果启用了--enable-sandbox,则无法创建普通的电子窗口.
我用 Electron 制作了一个应用程序,并试图用 Electron Builder 打包它。
链接到存储库
不包含 node_modules 文件夹:此处回购
我有一个名为 build 的文件夹,里面有我的 icon.ico,我的 package.json 如下:
{
"name": "attendant",
"productName": "Attendant",
"version": "0.1.0",
"description": "A simple app to streamline web development by allowing you index.html to open on a live server in the default browser",
"main": "main.js",
"scripts": {
"start": "electron .",
"pack": "electron-builder --dir",
"dist": "electron-builder"
},
"devDependencies": {
"electron": "^8.0.1",
"electron-builder": "^22.3.2"
},
"build": {
"appId": "com.attendant",
"win": {
"icon": "./build/icon.png",
"title": "Attendant",
"msi": true
}
} …Run Code Online (Sandbox Code Playgroud) 我知道我可以--js-flags="--max-old-space-size=4096"在使用电子运行它时添加.但是,我应该把这个参数放在电子生成器的构建配置中?
我用电子创建了新的角度项目。我确实需要设置电子。
我有以下错误。
./node_modules/electron/index.js 中的错误
找不到模块:错误:无法解析“D:\PATH\desktop\node_modules\electron”中的“fs”
我的 package.json 文件
{
"name": "desktop",
"version": "0.0.0",
"main": "main.js",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"electron": "ng build && electron .",
"electron-aot": "ng build --prod && electron ."
},
"private": true,
"dependencies": {
"@angular/animations": "~7.1.0",
"@angular/common": "~7.1.0",
"@angular/compiler": "~7.1.0",
"@angular/core": "~7.1.0",
"@angular/forms": "~7.1.0",
"@angular/platform-browser": "~7.1.0",
"@angular/platform-browser-dynamic": "~7.1.0",
"@angular/router": "~7.1.0",
"core-js": "^2.5.4",
"rxjs": "~6.3.3",
"tslib": "^1.9.0",
"zone.js": "~0.8.26"
},
"devDependencies": {
"@angular-devkit/build-angular": …Run Code Online (Sandbox Code Playgroud) 我的 main.js 中的电子生成器和 browserWindows 预加载选项有问题:
// Create the browser window.
mainWindow = new BrowserWindow({
x: mainWindowState.x,
y: mainWindowState.y,
width: mainWindowState.width,
height: mainWindowState.height,
minHeight: 500,
minWidth: 1000,
icon: path.join(__dirname, 'icon.ico'),
frame: false,
webPreferences: {
preload: path.resolve(__dirname, 'preload.js'), // <--- PROBLEM
nativeWindowOpen: true,
spellcheck: true,
nodeIntegration: false
}
});
Run Code Online (Sandbox Code Playgroud)
启动打包的应用程序后,我收到以下错误:
无法加载预加载脚本:C:\Users[...]\resources\app.asar\preload.js
preload.js 与 main.js 位于同一目录中。
有什么想法可以解决这个问题吗?
亲切的问候,凯W。
我正在尝试为在网络、桌面和本机应用程序之间共享代码的所有平台构建一个项目。有谁有使用 React、React-Native、Electron 和 WebPack 设置跨平台代码共享的经验,并且知道一些资源/示例来帮助我开始实现这一目标?
目录结构可能如下所示:
/resources (fonts, images)
/config (webpack config)
/fastlane (android + ios build/deployment)
/android (auto generated by expo or create-react-native-app maybe?)
/ios (auto generated by expo or create-react-native-app maybe?)
/web
/desktop
/src (components, styles, pages, routes, App.js, etc... all shared)
index.js
Run Code Online (Sandbox Code Playgroud)
我计划使用如下脚本运行和构建每个平台:
/package.json
"scripts": {
"ios": "react-native run-ios",
"android": "react-native run-android",
"desktop": "electron .",
"web": "webpack-dev-server --open",
"build: "webpack",
"desktop-build": "electron-builder --config config/electron.config.js",
"ios-build": "fastlane ios build",
"android-build": "fastlane android build"
}
Run Code Online (Sandbox Code Playgroud)
设置这个 webpack 配置似乎是最困难的部分。我什至不确定如何初始化这个项目。我对网络使用自定义 webpack …
我处理这个问题已经快两周了。\n当我在 DMG 文件中构建我的电子应用程序时,一切都很完美,但是当我尝试以 pkg 格式构建应用程序以上传到 AppStore 时,我收到以下错误:开场:
\nEXC_CRASH (SIGKILL (Code Signature Invalid))\nRun Code Online (Sandbox Code Playgroud)\n完整报告:(我读这篇文章没有任何想法,但是你能告诉我这里是否有任何有用的东西吗?)
\n-------------------------------------\nTranslated Report (Full Report Below)\n-------------------------------------\n\nIncident Identifier: 672ED1C3-54FF-4FC5-A724-C9BBFA324FF7\nCrashReporter Key: CEADA8D8-D266-0222-B9C5-DB0AB2503CC1\nHardware Model: MacBookPro17,1\nProcess: Foo [29494]\nPath: /Applications/Foo.app/Contents/MacOS/Foo\nIdentifier: com.domain.foo\nVersion: 1.1.4 (1.1.4)\nCode Type: X86-64 (Native)\nRole: Default\nParent Process: launchd [1]\nCoalition: com.domain.foo [17341]\n\nDate/Time: 2021-12-12 16:55:38.4248 -0300\nLaunch Time: 2021-12-12 16:55:38.3359 -0300\nOS Version: macOS 12.0.1 (21A559)\nRelease Type: User\nReport Version: 104\n\nException Type: EXC_CRASH (SIGKILL (Code Signature Invalid))\nException Codes: 0x0000000000000000, 0x0000000000000000\nException Note: EXC_CORPSE_NOTIFY\nTermination Reason: CODESIGNING 1 \n\nTriggered by Thread: 0\n\nThread 0 Crashed:\n0 0x7ff7ffce2a2c 0x7ff7ffcdf000 + …Run Code Online (Sandbox Code Playgroud) 我正在构建一个 Electron、React 应用程序,我需要一个dotenv文件。在代码中,我调用我的变量,process.env.variable这些变量在开发中工作得很好。
然而,一旦与 一起分发electron-builder,则dotenv variables不再起作用 ( undefined)。
我现在的问题是,是否可以做到这一点?如果可以,怎么做?我试图在互联网上找到解决方案,但似乎人们并没有真正面对这个问题。
Google 的 reCAPTCHA 是特定于域的,因此在 Github 的电子应用程序中使用时,会出现以下错误ERROR for site owner: Invalid domain for site key。
可能是因为在电子应用程序中,文件是通过file:///协议加载的,因此在加载验证码时不会发送引用标头。我正在用来electron ./运行该应用程序。
有没有在电子应用程序中加载 reCAPTCHA 的解决方案?