0.3.3 • Published 5 years ago

smart-ads-kiosk v0.3.3

Weekly downloads
8
License
-
Repository
-
Last release
5 years ago

Introduction

Bootstrap and package your project with Angular 7 and Electron (Typescript + SASS + Hot Reload) for creating Desktop applications.

Currently runs with:

  • Angular v7.0.3
  • Electron v3.0.2
  • Electron Builder v20.28.1

With this sample, you can :

  • Run your app in a local development environment with Electron & Hot reload
  • Run your app in a production environment
  • Package your app into an executable file for Linux, Windows & Mac

To build for development

  • in a terminal window -> npm start

Voila! You can use your Angular + Electron app in a local development environment with hot reload !

The application code is managed by main.ts. In this sample, the app runs with a simple Angular App (http://localhost:4200) and an Electron window.
The Angular component contains an example of Electron and NodeJS native lib import.
You can disable "Developer Tools" by commenting win.webContents.openDevTools(); in main.ts.

Included Commands

CommandDescription
npm run ng:serve:webExecute the app in the browser
npm run buildBuild the app. Your built files are in the /dist folder.
npm run build:prodBuild the app with Angular aot. Your built files are in the /dist folder.
npm run electron:localBuilds your application and start electron
npm run electron:linuxBuilds your application and creates an app consumable on linux system
npm run electron:windowsOn a Windows OS, builds your application and creates an app consumable in windows 32/64 bit systems
npm run electron:macOn a MAC OS, builds your application and generates a .app file of your application that can be run on Mac

Your application is optimised. Only /dist folder and node dependencies are included in the executable.

You want to use a specific lib (like rxjs) in electron main thread ?

You can do this! Just by importing your library in npm dependencies (not devDependencies) with npm install --save. It will be loaded by electron during build phase and added to the final package. Then use your library by importing it in main.ts file. Easy no ?

Browser mode

Maybe you want to execute the application in the browser with hot reload ? You can do it with npm run ng:serve:web.
Note that you can't use Electron or NodeJS native libraries in this case. Please check providers/electron.service.ts to watch how conditional import of electron/Native libraries is done.