nwjs-webpack-plugin
nwjs-webpack-plugin copied to clipboard
nwjs-webpack-plugin
A webpack plugin that provides live reload capabilities during development of NW.js applications. Something like webpack-dev-server for NW.js.
Features
- Live reload after code change
- A black overlay will appear in case of code error
- Starts automatically the application after webpack's compile
How it works
A tcp server is being created during webpack's build, publishing important lifecycle events to clients. Example of events are (build succeed, build failed due to error, etc...)
A script is being injected into the application that establishes the tcp connection with the server above. The script manipulates the app in response to the events that receives. For example reload is triggered when build is done, or an error overlay is placed in case of an invalid build.
Instalation
npm i -D nwjs-webpack-plugin
Basic Usage
// webpack.config.js
const NwjsWebpackPlugin = require('nwjs-webpack-plugin')
module.exports = {
mode: 'development',
entry: './src/index.js',
target: 'node-webkit',
output: {
filename: '[name].js',
path: path.resolve(__dirname, 'dist')
},
plugins: [
new NwjsWebpackPlugin()
],
watch: true
}
Options
Name | Type | Default | Description |
---|---|---|---|
command |
{String} |
nw |
Path to nw executable that will be used to start the application |
commandDir |
{String} |
wepack's outputPath |
Path pointing to the application's dist folder |
args |
{String[]} |
[] |
Pass extra arguments to the NW process |
Todo
- [x] Auto start NW after build
- [x] Provide error overlay
- [ ] Remove unnecessary logs
- [x] Accept options from configuration
- [ ] Further testing
- [ ] HMR
- [ ] Provide more webpack's events/stats for client to consume