Home

Awesome

koa-manifest-rev

build status code coverage code style styled with prettier made with lass license

Dynamically load assets into your views from your rev-manifest.json manifest revision file (e.g. <script src="{{ manifest('foo.js'); }}"></script> returns <script src="/foo-0775041dd4.js"></script> when rendered).

Works with any templating engine, such as pug, ejs, or nunjucks. Inspired by express-rev and built for koa.

Table of Contents

Install

npm:

npm install koa-manifest-rev

yarn:

yarn add koa-manifest-rev

Usage

  1. Require the package and include the middleware

    import Koa from 'koa';
    import koaManifestRev from 'koa-manifest-rev';
    import path from 'path';
    
    const app = new Koa();
    
    app.use(koaManifestRev({
      manifest: path.join(__dirname, 'build', 'rev-manifest.json'),
      prepend: '/'
    }));
    
  2. Call the manifest(str) helper function in your views when you need to include assets (requires a templating engine).

    pug:

    html
      head
        title Foo
      body
        h1 Foo
        script(src=manifest('foo.js'))
    

    ejs

    <html>
      <head>
        <title>Foo</title>
      </head>
      <body>
        <h1>Foo</h1>
        <script src="<%= manifest('foo.js'); %>"></script>
      </body>
    </html>
    

    nunjucks (via koa-nunjucks-promise):

    <html>
      <head>
        <title>Foo</title>
      </head>
      <body>
        <h1>Foo</h1>
        <script src="{{ manifest('foo.js'); }}"></script>
      </body>
    </html>
    

API

Contributors

NameWebsite
Nick Baughhttp://niftylettuce.com/

License

MIT © Nick Baugh