@nickcis/start-server-webpack-plugin

    2.2.5 • Public • Published

    start-server-webpack-plugin

    Automatically start your server once Webpack's build completes.

    travis build version downloads MIT License

    Installation

    $ npm install --save-dev start-server-webpack-plugin

    Usage

    In webpack.config.server.babel.js:

    import StartServerPlugin from "start-server-webpack-plugin";
    
    export default {
      // This script will be ran after building
      entry: {
        server: ...
      },
      ...
      plugins: [
        ...
        // Only use this in DEVELOPMENT
        new StartServerPlugin({
          name: 'server.js',
          compilation: 'compilation-name', // only used when multi compiler
          nodeArgs: ['--inspect'], // allow debugging
          args: ['scriptArgument1', 'scriptArgument2'], // pass args to script
          signal: false | true | 'SIGUSR2', // signal to send for HMR (defaults to `false`, uses 'SIGUSR2' if `true`)
          keyboard: true | false, // Allow typing 'rs' to restart the server. default: only if NODE_ENV is 'development'
        }),
        ...
      ],
      ...
    }

    The name argument in new StartServerPlugin(name) refers to the built asset, which is named by the output options of webpack (in the example the entry server becomes server.js. This way, the plugin knows which entry to start in case there are several.

    If you don't pass a name, the plugin will tell you the available names.

    The compilation argument is used to specify in what compilation the build asset will be searched (only used when the same instance of the plugin is passed to many webpack plugin configurations).

    You can use nodeArgs and args to pass arguments to node and your script, respectively. For example, you can use this to use the node debugger.

    To use Hot Module Reloading with your server code, set Webpack to "hot" mode and include the webpack/hot/poll or webpack/hot/signal modules. Make sure they are part of your server bundle, e.g. if you are using node-externals put them in your whitelist. The latter module requires the signal option.

    To use the plugin with a MultiCompiler webpack's configuration just pass the same StartServerWebpackPlugin instance to all the configurations. The script will be run when all compilations have finished.

    License

    MIT License 2016 © Eric Clemmons

    Install

    npm i @nickcis/start-server-webpack-plugin

    DownloadsWeekly Downloads

    2

    Version

    2.2.5

    License

    MIT

    Unpacked Size

    12.6 kB

    Total Files

    5

    Last publish

    Collaborators

    • nickcis