Я только что обнаружил электрон и нашел его интересным, поэтому я хочу внедрить его в свой угловой проект jhipster (последняя версия jhipster)
Я пытался следовать этому руководству и адаптировать его, но я верю, поскольку Jhipster использует Webpackмоя сборка не в порядке
вот что я сделал
Я объявил файл main.js в папке src / main / webapp какниже
const { app, BrowserWindow } = require("electron");
const path = require("path");
const url = require("url");
let win;
function createWindow() {
win = new BrowserWindow({ width: 800, height: 600 });
// load the dist folder from Angular
win.loadURL(
url.format({
pathname: path.join(__dirname, `/dist/index.html`),
protocol: "file:",
slashes: true
})
);
// The following is optional and will open the DevTools:
// win.webContents.openDevTools()
win.on("closed", () => {
win = null;
});
}
app.on("ready", createWindow);
// on macOS, closing the window doesn't quit the app
app.on("window-all-closed", () => {
if (process.platform !== "darwin") {
app.quit();
}
});
// initialize the app's main window
app.on("activate", () => {
if (win === null) {
createWindow();
}
});
Затем я попытался обновить мои конфигурационные файлы, как показано ниже:
package.json
{
"name": "boxing",
"version": "0.0.1-SNAPSHOT",
"main": "main.js", <-- added this
"description": "Description for boxing",
"private": true,
"license": "UNLICENSED",
"cacheDirectories": [
"node_modules"
],
"dependencies": {
"@angular-devkit/build-angular": "^0.803.14", <-- installed using npm
...
"scripts": {
"electron": "ng build --base-href ./ && electron .",
angular.json
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"boxing": {
"root": "",
"sourceRoot": "src/main/webapp",
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"skipTests": true,
"style": "scss"
},
"@schematics/angular:directive": {
"skipTests": true
},
"@schematics/angular:guard": {
"skipTests": true
},
"@schematics/angular:pipe": {
"skipTests": true
},
"@schematics/angular:service": {
"skipTests": true
}
},
"prefix": "jhi",
"architect": {
<-- added this lines
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist"
}
}
<-- end of add
}
}
},
"defaultProject": "boxing",
"cli": {
"packageManager": "npm"
}
}
Я наконец обновил мой index.html href до . /
, но когда я запускаю команду в терминале, яполучение этой ошибки
npm run электрона
boxing@0.0.1-SNAPSHOT электрон / home / housseyn / рабочий стол / projects / salle-de-sport ngbuild --base-href ./ && Electron.
Проверка схемы не удалась со следующими ошибками: путь данных "" должен иметь обязательное свойство 'main'. нпм ERR! код ELIFECYCLE npm ERR! errno 1 npm ERR! boxing@0.0.1-SNAPSHOT электрон: ng build --base-href ./ && electron .
npm ERR! Статус выхода 1 npm ERR! нпм ERR! Сбой на электронном скрипте boxing@0.0.1-SNAPSHOT. нпм ERR! Это, вероятно, не проблема с npm. Вероятно, есть дополнительные выходные данные журнала> выше.
npm ERR! Полный журнал этого прогона можно найти в: npm ERR! /home/housseyn/.npm/_logs/2019-10-25T16_00_19_675Z-debug.log