Development
somafm is an Electron application based on the electron-react-boilerplate project.
Technology
- NodeJS
- Electron
- React
- Redux
- ES6/Babel
Install
Install dependencies.
$ npm install
Run
Run this two commands simultaneously in different console tabs.
$ npm run hot-server
$ npm run start-hot
Note: requires a node version >= 4 and an npm version >= 2.
Toggle Chrome DevTools
- OS X: Cmd Alt I or F12
- Linux: Ctrl Shift I or F12
- Windows: Ctrl Shift I or F12
See electron-debug for more information.
Toggle Redux DevTools
- All platforms: Ctrl+H
See redux-devtools-dock-monitor for more information.
Externals
If you use any 3rd party libraries which can’t be built with webpack, you must list them in your webpack.config.base.js
:
externals: [
// put your node 3rd party libraries which can't be built with webpack here (mysql, mongodb, and so on..)
]
You can find those lines in the file.
CSS Modules support
Import css file as css-modules using .module.css
.
Package
$ npm run package
To package apps for all platforms:
$ npm run package-all
Options
- –name, -n: Application name (default: ElectronReact)
- –version, -v: Electron version (default: latest version)
- –asar, -a: asar support (default: false)
- –icon, -i: Application icon
- –all: pack for all platforms
Use electron-packager
to pack your app with --all
options for darwin (osx), linux and win32 (windows) platform. After build, you will find them in release
folder. Otherwise, you will only find one for your os.
test
, tools
, release
folder and devDependencies in package.json
will be ignored by default.
Default Ignore modules
We add some module’s peerDependencies
to ignore option as default for application size reduction.
babel-core
is required bybabel-loader
and its size is ~19 MBnode-libs-browser
is required bywebpack
and its size is ~3MB.
Note: If you want to use any above modules in runtime, for example:
require('babel/register')
, you should move them formdevDependencies
todependencies
.
Building windows apps from non-windows platforms
Please checkout Building windows apps from non-windows platforms.