An open API service indexing awesome lists of open source software.

https://github.com/leo/electron-next

Build Electron apps using Next.js
https://github.com/leo/electron-next

electron main next renderer

Last synced: 5 months ago
JSON representation

Build Electron apps using Next.js

Awesome Lists containing this project

README

          

# electron-next

[![Build Status](https://travis-ci.org/leo/electron-next.svg?branch=master)](https://travis-ci.org/leo/electron-next)
[![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)

This package lets you use [Next.js](https://github.com/zeit/next.js) for building the renderer of your [Electron](https://electron.atom.io) apps!

- In **production**, it ensures that the `file://` protocol (which Electron uses to load your static assets in the renderer process) works properly with your Next.js bundle (generated by `next export`)
- While **developing**, it takes care of the whole flow required for building the renderer code

## Usage

Firstly, install the package using any node package manager:

```bash
yarn add electron-next
```

Then load it:

```js
const prepareRenderer = require('electron-next')
```

As the final step, call the package:

- ``: The path to the directory containing the renderer (relative to the app's root directory). If the paths for development and production aren't the same, this can be an object holding a `development` and a `production` key with their respective paths (string|object).
- ``: Used for running [Next.js](https://github.com/zeit/next.js) in development (number, **optional**, defaults to `8000`).

```js
await prepareRenderer(, )
```

## Caught a Bug?

1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device
2. Link the package to the global package directory: `npm link`
3. Within the electron app of your choice, link it to the dependencies: `npm link electron-next`. Instead of the default one from [npm](https://www.npmjs.com), it will now use your local clone of the package!

## Author

- Leo Lamprecht ([@notquiteleo](https://twitter.com/notquiteleo))