jeromegn/Backbone.localStorage

Using Bower to install Backbone Localstorage working properly

Opened this issue · 4 comments

I used bower install backbone-localstorage for my project with this command bower install backbone-localstorage --save and for some reason when I use it as such:

define([
  'underscore',
  'backbone',
  'models/todo',
  'localstorage'
], function (_, Backbone, Todo) {
    'use strict';
    var TodosCollection = Backbone.Collection.extend({
        model: Todo,
        localStorage: new Backbone.LocalStorage('todos')
    });

    return TodosCollection;
});

I get Uncaught TypeError: object is not a function in the chrome browser.

After hours of head scratching, research and code tweaks, I decided to check the backbone.localstorage codebase and found out the code is very different from the original backbone.localstorage that's in this Github. For example no Backbone.Localstorage object is being returned at the end.

I think there's a mistake in the way bower is fetching the codebase. Or maybe I'm doing something wrong...

Or can someone tell me if there's a new way to use backbone.localstorage?

For what it's worth, if anyone's having trouble using LocalStorage with ECMAScript 6/System.js/jspm, using jspm install github:jeromegn/Backbone.localStorage instead of jspm install npm:backbone-localstorage solved a related issue.

@seyade it looks like it's because bower is installing an entirely differentl library for backbone localstorage: https://github.com/robmoorman/backbone-localstorage

The library you want is here : https://github.com/jeromegn/Backbone.localStorage (different with https://github.com/robmoorman/backbone-localstorage)

add in bower.json dependencies : "backbone.localStorage": null
and run "bower update"

Had the same issue with jspm. @ahwitz 's suggestion solved it. Thank you!