mahieyin-rahmun / electron-react-webpack-boilerplate

Minimal Electron, React, PostCSS and Webpack boilerplate to help you get started with building your next app. Added Redux support with Redux DevTools.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool



Dependency Status devDependency Status MIT License Current release

Paypal Patreon buymeacoffee

Minimal Electron, React and Webpack boilerplate (with added Redux support)

Minimal Electron, React, PostCSS and Webpack boilerplate to help you get started with building your next app.

Credit goes to: Alex Devero for the base boilerplate with Electron, React and Webpack.

Changes in this repo: Added support for Redux store with full access to Redux Devtools. You can see the diff here. Additionally, bumps in package dependency versions are also done.

The classic Counter app is included as example with the basic Redux store, reducers, action types and action creators.

Screenshot

Counter Electron, React, Redux, and Webpack

Table of contents

Install

Clone this repo

git clone https://github.com/mahieyin-rahmun/electron-react-webpack-boilerplate.git

Install dependencies

npm install

or

yarn

Usage

Run the app

npm run start

or

yarn start

Build the app (automatic)

npm run package

or

yarn package

Build the app (manual)

npm run build

or

yarn build

Test the app (after npm run build || yarn run build)

npm run prod
yarn prod

Add Sass

Adding Sass to boilerplate requires updating webpack configs and adding necessary loaders.

  1. To webpack.build.config.js and webpack.dev.config.js add new object to rules:
{
  test: /\.scss$/,
  use: [
    { loader: 'style-loader' },
    { loader: 'css-loader' },
    { loader: 'sass-loader' }],
  include: defaultInclude
}
  1. Install additional loaders for sass, sass-loader and node-sass.

  2. Rename all CSS file to .scss.

Change app title

This boilerplate uses HTML Webpack Plugin to generate the HTML file of the app. Changing app title is possible only through webpack configs, webpack.build.config.js and webpack.dev.config.js. App title can be changed by adding objects of options.

In webpack.build.config.js:

plugins: [
  new HtmlWebpackPlugin({title: 'New app title '}),// Add this (line 41)
  new MiniCssExtractPlugin({
    // Options similar to the same options in webpackOptions.output
    // both options are optional
    filename: 'bundle.css',
    chunkFilename: '[id].css'
  }),
  new webpack.DefinePlugin({
    'process.env.NODE_ENV': JSON.stringify('production')
  }),
  new BabiliPlugin()
],

In webpack.dev.config.js:

plugins: [
  new HtmlWebpackPlugin({title: 'New app title '}),// Add this (line 36)
  new webpack.DefinePlugin({
    'process.env.NODE_ENV': JSON.stringify('development')
  })
],

Contact and Support

I want your feedback! Here's a list of different ways to me and request help:

If you feel generous and want to show some extra appreciation:

Buy me a coffee

Code of Conduct

Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

License

MIT © Alex Devero.

About

Minimal Electron, React, PostCSS and Webpack boilerplate to help you get started with building your next app. Added Redux support with Redux DevTools.

License:MIT License


Languages

Language:JavaScript 96.4%Language:CSS 3.6%