Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

ExpressJS and JamJS work together

branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

README.md

ExpressJS and JamJS work together

Respects npm production configuration setting, it returns a single catalog with all dependencies in production, but each dependency in its own file in development mode. Development mode does not need server restart if dependencies change.

Respects jam packageDir property from package.json.

Configure dependencies

Write dependencies in package.json and execute express-jam-install script on installation:

{
  "scripts": {
    "postinstall": "env PATH=./node_modules/.bin:$PATH express-jam-install"
  }
  ,"jam": {
    "dependencies": {
      "jquery": "1.8.0"
    }
  }
}

See Jam documentation for more details.

Link to an express app

var app = require('express')()

linkJam(app, function(error) {
  if (error) {
    console.log(error);
    process.exit(1);
  } else {
    app.listen(3000);
  }
});

Use in views

The uri to jam bootstrap is provided to views in view options, by default in key jam_uri. For example in jade:

!!!
html
  head
    title Jam-Express
    script(type='text/javascript', src='#{jam_uri}', data-main='index')
  body
    p Hello, world!

Use out of views

The middleware returned can be used to expose the variable in response:

var app = require('express')();

linkJam(app, function(error, middleware) {
  if (error) {
    console.log(error);
    process.exit(1);
  } else {
    app.get('/', middleware, function(req, res) {
      res.send('Hello at: ' + req.jam_uri);
    });
    app.listen(3000);
  }
});

Environment parameters

  • process.env.JAM_VIEW_KEY (defaults to jam_uri): key in views options that holds the uri to jam bootstrap

Licence

MIT, see license.txt.

Something went wrong with that request. Please try again.