Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/j-fischer/generator-rjs-ember
Yeoman generator for a web application using RequireJS and Ember
https://github.com/j-fischer/generator-rjs-ember
Last synced: about 2 months ago
JSON representation
Yeoman generator for a web application using RequireJS and Ember
- Host: GitHub
- URL: https://github.com/j-fischer/generator-rjs-ember
- Owner: j-fischer
- Created: 2014-11-20T03:23:58.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2016-02-20T04:51:35.000Z (almost 9 years ago)
- Last Synced: 2024-11-08T02:48:55.432Z (2 months ago)
- Language: JavaScript
- Homepage:
- Size: 161 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Web app generator [![Build Status](https://api.travis-ci.org/j-fischer/generator-rjs-ember.svg?branch=master)](https://travis-ci.org/j-fischer/generator-rjs-ember)
[Yeoman](http://yeoman.io) generator that scaffolds out a front-end web app using Ember and RequireJS.
## Features
* CSS Autoprefixing
* Built-in preview server with LiveReload
* Automatically compile Sass
* Automatically lint your scripts
* Unit Testing with Karma and PhantomJS
* Bootstrap for Sass
* Dependency management with BowerFor more information on what `generator-rjs-ember` can do for you, take a look at the Gruntfile.js.
## Getting Started
- Install: `npm install -g generator-rjs-ember`
- Run: `yo rjs-ember`
- Run `grunt` for building and `grunt serve` to preview. You can use the `--allow-remote` option for remote access.#### Third-Party Dependencies
*(HTML/CSS/JS/Images/etc)*
All app dependencies are managed by Bower, any dependencies related to grunt and the build tools are managed through NPM. Grunt will automatically update the Bower components on every build.
There are two non-managed libraries by Matt Mastracci part of this solution:
[requirejs-ember-handlebars](https://github.com/mmastrac/requirejs-ember-handlebars)
and
requirejs-handlebars## Options
* `--skip-install`
Skips the automatic execution of `bower` after scaffolding has finished.
## Application Overview
This is a standalone application. The 'index.html' file is the container of the application and not meant to be changed other than adding more tags to the head element. Please note that the
build script will replace some paths references in the file when creating the final distribution. 'main.js' is the entry point of the application. It will load the 'reuqire-config.js' file
and set up the initial dependencies. From there, the application route will be the entry point for the actual application. There is a folder called 'services', which is currently empty. The
intention with this folder is to separate the business logic from the controllers. Services should extend from Ember.Object and be registered and injected through the
applicationRegistration.js file.The advantage that I see in this architecture is cleaner organization of dependencies. Controllers should only depend on services, not other controllers. And services should only be
loosly coupled by passing another service to a method as an argument.Another advantage with RequireJS and Ember is that RequireJS allows for encapsulation where one can define "private static" helper functions outside of the Ember object declaration.
I hope this setup will allow for a better organization of the code.
## Contribute
Feel free to contact me if you like to contribute.
If not, `generator-rjs-ember` is fork-friendly and you can always maintain a custom version which you `npm install && npm link` to continue using via `yo rjs-ember` or a name of your choosing.
## License
[MIT](http://opensource.org/licenses/MIT)