Skip to content

Javascript - Some General Info

Tools

MIGHT BE OUTDATED

TOOL LINK NOTE
Bower bower.io Package Manager
Grunt gruntjs.com Task Runner
Gulp gulpjs.com Task Runner
Stylus github link CSS preprocessor
Yeoman yeoman.io scaffolding tool
Phantom phantomjs.org headless WebKit scriptable
Require requirejs.org module loader
MEAN mean.io meanjs.org fullstack JS platform f/web apps
Express expressjs.com web app framework (MVC)
DocPad DocPad NPM link Flat-File CMS (à la Jekyll/Pelican/Frozen-Flask)
Karma GitHub link testing environment
Karma Yeoman Generator GitHub link
Node nodjs.org
NPM NODE Package Manager
NVM NODE Version Manager

Notes on Tools:

  • MEAN stack:
    • MEAN = Mongodb Express Angular Node
    • "The MEAN stack is in fact a fully functional blog engine application."

  • PhantomJS:
    • "Full web stack. No browser required" - useful for browser testing without opening a browser
  • Yeoman, Grunt & Bower:
    • Yeoman is the code generator. Fulfils a role similar to that filled by the Rails app.
      Can be used to generate whole projects or individual pieces of code depending upon the specific code generators it has installed.
      Gives you a quick shell from which to start a project.

    • Grunt is the builder and utility tool.
      Modular in nature and as a result it can fulfil a huge variety of roles.
      Typical things you might call upon Grunt to perform would be:
      concatenating multiple CSS or JavaScript files together for faster download,
      minifying CSS or JavaScript files,
      running a small local server to make developing your website easier,
      looking for errors in your JavaScript,
      running JavaScript unit tests,
      running compilation tools for CoffeeScript, LESS, or Sass.

    • Bower is your web component installer. It can install a JavaScript library or a CSS/JavaScript framework, & also install dependencies.

    • With npm installed you can then install all three of the aforementioned tools Yeoman, Grunt, and Bower.
      • Yeoman: npm install -g yo
      • Grunt:
        • npm install -g grunt
        • npm install grunt@VERSION --save-dev
      • Bower: npm install -g bower