ngx-electron
TypeScript icon, indicating that this package has built-in type declarations

2.2.0 • Public • Published

ngx-electron

Build Status semantic-release

ngx-electron is a small Module for Angular which makes calling Electron APIs from the Renderer Process easier. By adding it to your Angular project, you'll get IntelliSense and a simple Angular service which acts as facade for Electron APIs.

ngx-electron is licensed under MIT.

Introduction

Checkout the introduction post on my blog for more details.

Support me

Become a Patron!

Installation

ngx-electron can be installed easily using either yarn or npm commands in the scope of an angular project.

yarn add ngx-electron --save
# or 
npm install ngx-electron --save

The NgxElectronModule needs to be import in your root Angular module (eg AppModule).

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
 
import { NgxElectronModule } from 'ngx-electron';
 
 
@NgModule({
    declarations: [],
    imports: [
      BrowserModule,
      NgxElectronModule
    ],
    bootstrap: [AppComponent]
})
export class AppModule {
 
}

Once the module has been imported, you can easily use dependency injection to get an instance of ElectronService.

import { Component } from '@angular/core';
import { ElectronService } from 'ngx-electron';
 
@Component({
  selector: 'my-app',
  templateUrl: 'app.html'
})
export class AppComponent {
 
    constructor(private _electronService: ElectronService) { }
 
    public playPingPong() {
        if(this._electronService.isElectronApp) {
            let pong: string = this._electronService.ipcRenderer.sendSync('ping');
            console.log(pong);
        }
    }
}

ElectronService

The ElectronService is exposing all API's accessible from within Electron's renderer process. If your app is not running inside electron, all getters will return NULL instead.

Properties

  • desktopCapturer: Electron.DesktopCapturer - Electron's desktop capturing API
  • ipcRenderer: Electron.IpcRenderer - Electron IpcRenderer
  • remote: Electron.Remote - Electron Remote capabilities
  • webFrame: Electron.WebFrame - Electron WebFrame
  • clipboard: Electron.Clipboard - Clipboard API
  • crashReporter: Electron.CrashReporter - Electron's CrashReporter
  • process: NodeJS.Process - Electron's Process Object
  • screen: Electron.Screen - Electron's Screen API
  • shell: Electron.Shell - Electron's Shell API
  • nativeImage: Electron.NativeImage - Electron's NativeImage API
  • isElectronApp: boolean - Indicates if app is being executed inside of electron or not
  • isMacOS: boolean - Indicates if app is running in electron and on macOS
  • isWindows: boolean - Indicates if app is running in electron and on Windows
  • isLinux: boolean - Indicates if app is running in electron and on Linux
  • isX86: boolean - Indicates if app is running in electron and on a x86 architecture
  • isX64: boolean - Indicates if app is running in electron and on a x64 architecture
  • isArm: boolean - Indiciates it app is running in electron adn on a ARM architecture

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 2.2.0
    2,052
    • latest

Version History

Package Sidebar

Install

npm i ngx-electron

Weekly Downloads

2,444

Version

2.2.0

License

MIT

Unpacked Size

129 kB

Total Files

26

Last publish

Collaborators

  • thorstenhans