npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

backbone-route-control

v0.1.0

Published

> backbone-route-control adds support for __controller#action__ style syntax to > Backbone's router. > > This facilitates route callbacks to be defined in separate controller/handler > objects, helping to keep your router slim. This separation of concern

Downloads

45

Readme

backbone-route-control

backbone-route-control adds support for controller#action style syntax to Backbone's router.

This facilitates route callbacks to be defined in separate controller/handler objects, helping to keep your router slim. This separation of concerns can also aid greatly in the maintainability and testability of these classes.

Installation

npm install backbone-route-control

or

bower install backbone-route-control

Usage

Create a router class, that extends from BackboneRouteControl.

var Router = BackboneRouteControl.extend({});

Define and organize your routes, using the controller#action syntax.

var Router = BackboneRouteControl.extend({
  routes: {
    'foo': 'foo#index',
    'foo/new': 'foo#form',
    'foo/:id': 'foo#show',
    'foo/:id/edit': 'foo#form',
    'whatever': 'whatever'
  },
  whatever: function() {}
});

Note that you can still define methods directly in the router and use the normal Backbone syntax as well.

Create controller classes, to match your route organization. These can be simple JavaScript objects or really whatever you like. I suggest to create them as functions so that you may inject options or dependencies.

var FooController = function(options) {
  return {
    index: function() {},
    show: function(id) {},
    form: function(id) {}    
  };
};

Instantiate your router, passing in a hash of controllers.

var router = new Router({
  controllers: {
  	foo: new FooController()
  }
});

Tests

grunt

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

  • 0.1.0 Initial release