#javascript #node.js #angular #electron #electron-packager
#javascript #node.js #angular #electron #electron-упаковщик
Вопрос:
Я разработал приложение на angular 6. Я пытаюсь создать сборку .exe с использованием electron. Когда я делаю сборку electron в среде разработки, которая работает нормально, но теперь я хочу выпустить пакет для Windows, я установил electron packager на свой компьютер, пытаясь создать сборку для Windows. Я установил wine на компьютер Linux для запуска сборки. Он создает сборку приложения, но когда я запускаю файл .exe, он отображает пустое окно. Я не понимаю, в чем проблема и почему он отображает пустой экран.
// main.ts
const { app, BrowserWindow } = require('electron')
const path = require('path');
let win;
function createWindow () {
win = new BrowserWindow({
width: 600,
height: 600,
backgroundColor: '#ffffff'
})
win.maximize()
win.loadURL(`file://${__dirname}/dist/task-reporting-tool/index.html`)
win.on('closed', function () {
win = null
})
}
app.on('ready', createWindow)
app.on('window-all-closed', function () {
if (process.platform !== 'darwin') {
app.quit()
}
})
app.on('activate', function () {
if (win === null) {
createWindow()
}
})
// package.json
"main": "main.js",
"description": "task-reporting-tool",
"files": [ "build", "*.js", "public"],
"scripts": {
"electron": "electron .",
"electron-build": "ng build --prod amp;amp; electron .",
"packager": "electron-packager . WinApp --platform=win32 --arch=all"
}
index.html
<base href="./">
Я создал main.js файл. внесены изменения в index.html файл и в package.json.
Использование npm run packager для создания сборки. Все необходимые изменения выполнены, сборка выполнена успешно, но отображается пустой экран.
Комментарии:
1. в инструменте разработчика отображается эта ошибка «Не разрешено загружать локальный ресурс: file://home/lakhan/Desktop/task-reporting-tool/WinApp-win32-x64/resources/app/src/index.html »
Ответ №1:
Установите npm, а затем попробуйте:
electron-packager . --asar
electron-packager . --all
Ответ №2:
Вы могли бы попробовать :
win.loadURL(
url.format({
pathname: path.join(__dirname, "/dist/angular-electron/index.html"),
protocol: "file:",
slashes: true
})
);