node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »



browser support

Build Status

Mock router library for serving mock data statically.


GhostTrain is a mock router library for serving mock data statically. Leveraging the same API as Express, GhostTrain allows developers to send mock requests to GhostTrain rather than making HTTP requests to a server, for development, testing and demos. Run in a browser, in node, and take development to the next level.


Set up a ghosttrain instance

var ghosttrain = new GhostTrain();

Set up routes

var users = {
  '1': {
    name: 'Ozzie Isaacs',
    skills: ['Planet Riding']
ghosttrain.get('/users/:id', function (req, res) {
  res.request(200, users[]);
ghosttrain.request('GET', '/users/12345', function (err, res, body) {
  // { name: 'Ozzie Isaacs', skills: ['Planet Riding'] } 
  // 200 


Documentation can be found at

Browser Support

GhostTrain has been tested on latest versions of Firefox, Chrome, Safari, Opera, and IE8+. For IE8 support, several polyfills and APIs must be implemented; you can use the ./dist/ghosttrain-legacy.js build which contains all these polyfills, or implement them on your own. The methods needed are:

  • Array.prototype.indexOf
  • Array.prototype.forEach
  • Array.isArray
  • String.prototype.trim
  • Object.keys
  • JSON.parse
  • JSON.stringify

In a Browserify environment you can also pull in the legacy support files via require('ghosttrain/legacy').


MIT License