• This repository has been archived on 26/Mar/2018
  • Stars
    star
    639
  • Rank 67,136 (Top 2 %)
  • Language
    JavaScript
  • Created over 11 years ago
  • Updated about 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Scaffold out a Backbone.js project

Backbone.js generator Build Status Coverage Status

A Backbone generator for Yeoman that provides a functional boilerplate Backbone app out of the box. You also get access to a number of sub-generators which can be used to easily create individual models, views, collections and so on.

Optional RequireJS (AMD) support has recently been added as a prompt when using the generator on new projects.

Usage

Install: npm install -g generator-backbone

Make a new directory and cd into it:

mkdir my-new-project && cd $_

Run yo backbone, optionally passing an app name:

yo backbone [app-name]

Generators

Available generators:

  • backbone:model
  • backbone:view
  • backbone:collection
  • backbone:router
  • backbone:all

Typical workflow

yo backbone # generates your application base and build workflow
yo backbone:model blog
yo backbone:collection blog
yo backbone:router blog
yo backbone:view blog
grunt serve

Also checkout this NetTuts write-up for a guide to building Backbone.js apps using this generator.

Options

  • --appPath

    Generate scaffold into a custom directory.

  • --coffee

    Generate scaffolds in CoffeeScript. By default check if project uses CoffeeScript.

  • --requirejs

    Generate scaffolds using RequireJS (AMD) Loader. By default check if project uses RequireJS.

  • --skip-install

    Skips the automatic execution of bower and npm after scaffolding has finished.

  • --test-framework=[framework]

    Defaults to mocha. Can be switched for another supported testing framework like jasmine.

  • --template-framework=[framework]

    Defaults to lodash templating with grunt-contrib-jst. handlebars and mustache are also supported.

A note regarding JST templates and strict mode

If you use strict mode in your app and JST templates the default grunt-jst implementation will cause your app to error out as the templates will be precompiled using a 'with' statement.

This can be addressed by changing the jst grunt task as follows:

jst: {
    compile: {
        options:
        {
            templateSettings:
            {
                variable: 'data'
            }
        },
        files: {
            '.tmp/scripts/templates.js': ['<%= yeoman.app %>/scripts/templates/*.ejs']
        }
    }
},

A result of this change is that your template variable definitions must also be updated from <%= templateVariable %> to <%= data.templateVariable %>. More information on this can be found in the Underscore documentation.

Contribute

See the contributing docs

When submitting an issue, please follow the guidelines. Especially important is to make sure Yeoman is up-to-date, and providing the command or commands that cause the issue.

When submitting a bugfix, write a test that exposes the bug and fails before applying your fix. Submit the test alongside the fix.

When submitting a new feature, add tests that cover the feature.

License

BSD license

More Repositories

1

yeoman

Yeoman - a set of tools for automating development workflow
10,023
star
2

generator-angular

Yeoman generator for AngularJS
JavaScript
5,749
star
3

generator-webapp

A gulp.js generator for modern webapps
JavaScript
3,773
star
4

yo

CLI tool for running Yeoman generators
JavaScript
3,755
star
5

generator-chrome-extension

Scaffold out a Chrome extension
JavaScript
2,596
star
6

update-notifier

Update notifications for your CLI app
JavaScript
1,742
star
7

grunt-usemin

[UNMAINTAINED] Replaces references to non-optimized scripts or stylesheets into a set of HTML files (or any templates/views)
JavaScript
1,224
star
8

generator-generator

Generate a Yeoman generator
JavaScript
1,213
star
9

generator

Rails-inspired generator system that provides scaffolding for your apps
TypeScript
1,172
star
10

yeoman-app

A desktop app that scaffolds projects using Yeoman
JavaScript
988
star
11

generator-webapp_DEPRECATED

Yeoman generator that scaffolds out a front-end web app
JavaScript
980
star
12

generator-polymer

Scaffold out a Polymer project
JavaScript
931
star
13

generator-mobile

Scaffold out a mobile project based on Web Starter Kit
JavaScript
918
star
14

configstore

Easily load and persist config without having to think about where and how
JavaScript
853
star
15

yeoman.io

Yeoman website
CSS
790
star
16

generator-node

Create a Node.js module
JavaScript
577
star
17

insight

Node.js module to help you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics
JavaScript
554
star
18

bower-requirejs

[DEPRECATED] Automagically wire-up installed Bower components into your RequireJS config
JavaScript
376
star
19

generator-chromeapp

Scaffold out a Chrome app
JavaScript
311
star
20

stringify-object

Stringify an object/array like JSON.stringify just without all the double-quotes
JavaScript
302
star
21

grunt-filerev

[DEPRECATED] File revving
JavaScript
260
star
22

yosay

Tell Yeoman what to say
JavaScript
207
star
23

grunt-bower-requirejs

[DEPRECATED] Grunt task - Automagically wire-up installed Bower components into your RequireJS config
JavaScript
199
star
24

generator-bootstrap

Yeoman generator for Bootstrap
JavaScript
187
star
25

generator-karma

Yeoman generator for Karma
JavaScript
173
star
26

environment

Yeoman runtime environment
JavaScript
123
star
27

generator-jquery

Generate a jQuery plugin
JavaScript
85
star
28

generator-gruntfile

Create a basic Gruntfile with yo.
JavaScript
74
star
29

doctor

Detect potential issues with users system that could prevent Yeoman from working correctly
JavaScript
61
star
30

yeoman-assert

Assert utility from yeoman
JavaScript
53
star
31

yeoman-generator-list

JavaScript
52
star
32

yeoman-test

Test utilities for Yeoman generators
TypeScript
42
star
33

generator-mocha

Yeoman generator for Mocha
JavaScript
42
star
34

generator-gruntplugin

Create a gruntplugin module with yo, including Nodeunit unit tests.
JavaScript
35
star
35

generator-jasmine

Yeoman generator for Jasmine
JavaScript
34
star
36

yeoman-character

The Yeoman character in your CLI. Like wat.
JavaScript
22
star
37

yeoman-welcome

Yeoman welcome message used in generators
JavaScript
19
star
38

media

Yeoman logo and artwork
15
star
39

generator-commonjs

Generate a CommonJS module
JavaScript
15
star
40

insight-dashboard

[DEPRECATED] Insight into Yeoman
CSS
11
star
41

Hackathons

Running a Yeoman hackathon? Start here for ideas, tips, and goals
10
star
42

html-wiring

[DEPRECATED] Set of utilities to update HTML files
JavaScript
10
star
43

cli-list

Parse comma-separated argument lists.
JavaScript
8
star
44

yeoman-remote

Fetch packages and archives from remote resources with cache support
JavaScript
8
star
45

generator-dummytest

JavaScript
3
star
46

generator-dummy

Dummy generator used for unit testing purpose
JavaScript
2
star