Notes from a short presentation on NodeJs

Posted by Aligned on Geeks with Blogs See other posts from Geeks with Blogs or by Aligned
Published on Fri, 30 May 2014 01:43:35 GMT Indexed on 2014/05/30 15:28 UTC
Read the original article Hit count: 296

Filed under:
|

Originally posted on: http://geekswithblogs.net/Aligned/archive/2014/05/30/notes-from-a-short-presentation-on-nodejs.aspx

I volunteered myself to give a short 30 minute presentation at a work lunch and learn on NodeJs. With my limited experience I see using Node as a great tool for build process improvement, scaffolding with yeoman, and running tests with Karma. I haven’t looked into using as a full server or development stack. I guess I’m too stuck on IIS and Visual Studio :-). Here are my notes, that aren’t very well formatted, but I wanted to share it anyways.

What is it?

"Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices."

Why should you be interested?

another popular tool that can help you get the job done

you can use the command prompt!

can be run at build or release time to automate tasks

What are some uses?

https://www.npmjs.org/ - NuGet for Node packages

http://bower.io/ - NuGet for UI JavaScript libraries (jQuery, Bootstrap, Angular, etc)

http://yeoman.io/

"Our workflow is comprised of three tools for improving your productivity and satisfaction when building a web app: yo (the scaffolding tool), grunt (the build tool) and bower (for package management)."

-> yeoman asks which components you want

alternative - http://joakimbeng.eu01.aws.af.cm/slush-replacing-yeoman-with-gulp/

https://www.npmjs.org/package/generator-cg-angular

- phantom js, less,

// git is needed for bower http://git-scm.com/ run installer in Windows before you can use bower

// select Run Git from the Windows Command Prompt in the installer

// requires a reboot http://stackoverflow.com/questions/20069297/bower-git-not-in-the-path-error

npm install -g git

npm install -g yo

npm install -g generator-cg-angular

mkdir myapp

cd myapp

yo cg-angular

npm install -g bower

npm install -g grunt-cli yo bower

grunt serve

grunt test

grunt build

// there are many generators (generator-angular) is another one

// I like the Nuget HotTowel-Angular from John Papa myself

// needed IIS Node for Express -> prompt from WebMatrix

Karma bat to startup Karma - see below

image compression - https://www.npmjs.org/search?q=optimize+images, https://github.com/heldr/node-smushit - do it from the command line

LESS compiling

js and css combine and minification at build with Gulp for requireJS apps

quick lightweight HTTP server - "Express"

Build pipeline with Grunt or Gulp

http://www.johnpapa.net/gulp-and-grunt-at-anglebrackets/

Gulp is the newer and improved over Grunt. Supposed to be easier to use, but Grunt is more established.

https://github.com/johnpapa/ng-demos/tree/master/grunt-gulp

https://github.com/assetgraph/assetgraph-builder Does a lot of the minimizing, combining, image optimization etc using Node. Looks interesting....

http://nodejs.org

http://nodeschool.io/

http://sub.watchmecode.net/getting-started-with-nodejs-installing-and-writing-your-first-code/

https://stormpath.com/blog/build-a-killer-node-dot-js-client-for-your-rest-plus-json-api/

https://codio.com/

http://www.hanselman.com/blog/ItsJustASoftwareIssueEdgejsBringsNodeAndNETTogetherOnThreePlatforms.aspx

run unit tests - Karma in msBuild

karma-start.bat

@echo off

cd %~dp0\..

REM 604800 is to make sure we only update once every 7 days

call npm install --cache-min 604800 -g grunt-cli

call npm install --cache-min 604800

call npm install --cache-min 604800 -g karma-cli

karma start UnitTests\karma.conf.js

REM karma start UnitTests\karma.conf.js --single-run

REM see karma-start.bat and karam.config.js

REM jsHint comes from Nuget

© Geeks with Blogs or respective owner

Related posts about JavaScript

Related posts about nodejs