Angular / Electron с использованием renderer.js с угловыми компонентами - PullRequest
0 голосов
/ 12 июня 2018

Я создал проект angular 6, используя angular-cli.

После этого я установил Electron и сделал следующее:

  1. изменил src / index.html base to

  2. Установлено Электрон локально:

    npm Установить электрон --save-dev

  3. Создан файл main.js в корне моего проекта

    const {app, BrowserWindow} = require ('Electron')

    let win;

    функция createWindow () {win = новое BrowserWindow ({ширина: 600, высота: 600,})

    win.loadURL (file://${__dirname}/dist/myproject/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 ('activ', function () {if (win === null) {createWindow ()}})

  4. Исправлен файл package.json

    {"name": "angular-electronic", "version": "0.0.0 "," license ":" MIT "," main ":" main.js ", // <- обновить здесь" scripts ": {" ng ":" ng "," start ":" ng serve"," build ":" ng build "," test ":" ng test "," lint ":" ng lint "," e2e ":" ng e2e "," электрон ":" электрон. ", // <- запустить электрон «электрон-билд»: «нг билд -прод && электрон».// <- построить приложение, затем запустить электрон}, // ... опущено} </p>

Если я сейчас запусту

npm run electron-build

Проект будет работать.

Моя проблема сейчас в том, что я создал файл renderer.js и хочу выполнять там функции из моего углового компонента

Например:

renderer.js

function somefunction() {
    // do something
}

app.component.html

<button (click)="somefunction()">Run Function in renderer.js</button>

Как я могу это сделать?

1 Ответ

0 голосов
/ 07 марта 2019

Нет необходимости в renderer.js , поскольку вы используете angular. Вы должны добавить свою функцию в app.component.ts .

Сказав, что если вам все еще нужен renderer.js, вы добавили файл в свой index.html

  require('./somePath/dist/renderer.js')

Это сделает его доступным для всех.

...