Build and Deploy Tools in JavaScript
Grunt
Grunt: The Build Tool for JavaScript Task-based command line build tool for JavaScript projects http://gruntjs.com/ :: grunt
Here’s the idea: when working on a JavaScript project, there are a bunch of things you’ll want to do regularly. Like what, you ask? Well, like concatenating given files, running JSHint on your code, running tests, or minifying your scripts. With lot of important plugins:
- A grunt task that enables live reloading of updated watch files in the browser.
- plugin for linting and minifying CSS
Articles: http://blog.pamelafox.org/2012/05/using-gruntjs-with-css.html :: Using Grunt.js with CSS
Brunch
It’s like LiveReload (or CodeKit) plus Grunt, but much more faster, robust and universal. http://brunch.io/ :: Brunch | HTML5 application assembler
Great plugins / skeletons: https://github.com/icholy/ember-brunch :: icholy/ember-brunch
Yeoman
http://yeoman.io/ :: Yeoman http://addyosmani.com/blog/improved-developer-tooling-and-yeoman/ :: Improved Developer Tooling and Yeoman
Bower
Meet Bower: A Package Manager For The Web
Yeoman = Yo + Grunt + Bower
Introduction to Ember Development
Three tools:
-
yo (the scaffolding tool), scaffolds out a new application, writing your Grunt configuration and pulling in relevant Grunt tasks that you might need for your build
-
grunt (the build tool), used to build, preview and test your project
-
bower (a package manager for the web), no longer have to manually download and manage your javascripts
Install
npm install -g yo grunt-cli bower
You may also want to install and use additional generators. This is done
through npm
. You can see available generators with
npm search yeoman-generator
and then install them with npm install [name]
.
For Ember.js, we need: generator-ember
npm install -g generator-ember
mkdir webapp && cd webapp
yo ember
grunt server --force
Client-side package management
The State of Javascript Package Management
[Volo][volo] is very mature and is also a scaffolding tool.