Wondering what’s next for npm?Check out our public roadmap! »

    rollup-plugin-serve

    1.1.0 • Public • Published

    Rollup plugin to serve the bundle

    Software License Issues JavaScript Style Guide NPM Latest Version

    Installation

    # Rollup v0.60+ and v1+
    npm install --save-dev rollup-plugin-serve
    
    # Rollup v0.59 and below
    npm install --save-dev rollup-plugin-serve@0
    

    Usage

    // rollup.config.js
    import serve from 'rollup-plugin-serve'
     
    export default {
      input: 'src/main.js',
      output: {
        file: 'dist/bundle.js',
        format: ...
      },
      plugins: [
        serve('dist')
      ]
    }

    Options

    By default it serves the current project folder. Change it by passing a string:

    serve('public')    // will be used as contentBase
     
    // Default options
    serve({
      // Launch in browser (default: false)
      open: true,
     
      // Page to navigate to when opening the browser.
      // Will not do anything if open=false.
      // Remember to start with a slash.
      openPage: '/different/page',
     
      // Show server address in console (default: true)
      verbose: false,
     
      // Folder to serve files from
      contentBase: '',
     
      // Multiple folders to serve from
      contentBase: ['dist', 'static'],
     
      // Set to true to return index.html (200) instead of error page (404)
      historyApiFallback: false,
     
      // Path to fallback page
      historyApiFallback: '/200.html',
     
      // Options used in setting up server
      host: 'localhost',
      port: 10001,
     
      // By default server will be served over HTTP (https: false). It can optionally be served over HTTPS
      https: {
        key: fs.readFileSync('/path/to/server.key'),
        cert: fs.readFileSync('/path/to/server.crt'),
        ca: fs.readFileSync('/path/to/ca.pem')
      },
     
      //set headers
      headers: {
        'Access-Control-Allow-Origin': '*',
        foo: 'bar'
      },
     
      // set custom mime types, usage https://github.com/broofa/mime#mimedefinetypemap-force--false
      mimeTypes: {
        'application/javascript': ['js_commonjs-proxy']
      }
     
      // execute function after server has begun listening
      onListening: function (server) {
        const address = server.getAddress()
        const host = address.host === '::' ? 'localhost' : address.host
        // by using a bound function, we can access options as `this`
        const protocol = this.https ? 'https' : 'http'
        console.log(`Server listening at ${protocol}://${host}:${address.port}/`)
      }
    })

    Changelog

    Please see CHANGELOG for more information what has changed recently.

    Contributing

    Contributions and feedback are very welcome.

    This project aims to stay lean and close to standards. New features should encourage to stick to standards. Options that match the behaviour of webpack-dev-server are always ok.

    To get it running:

    1. Clone the project.
    2. npm install
    3. npm run build

    Credits

    License

    The MIT License (MIT). Please see License File for more information.

    Install

    npm i rollup-plugin-serve

    DownloadsWeekly Downloads

    40,583

    Version

    1.1.0

    License

    MIT

    Unpacked Size

    21.2 kB

    Total Files

    6

    Last publish

    Collaborators

    • avatar