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: 333
JavaScript
|nodejs
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