Lately I have focused a lot of my attention on Node.js, Express and Angular. One of the great things about Node is how extremely flexible the language is. However, when you are learning a new technology that flexibility can be a liability.
My first attempt at learning Node.js and Express was focused implementing framework paradigms that I would use developing a ColdFusion application. My application was a Diablo 3 character differ that would allow you to compare two characters side by side. It was a good lesson in how to structure a pure Express application. Plus, it worked, which was awesome.
Next I decided to focus on Angular and since I was trying to run it on a MEAN stack of course the first two projects I checked out were MEAN.IO and Mean.js. Both of these are really great projects, but when you are just trying to pick the stack up I was just completely lost.
When that did not pan out, I tried getting started with Node and Express using the same framework I used with the character differ. I was using Handlebars for server side render engine on Express which unfortunately conflicts with variables in Angular. Yes, I know you can change the brackets with $interpolateProvider, but I did not want to muck about changing things when I shouldn’t have to.
I was a little annoyed, but I was just going to develop the Angular portion of the app served with Nginx and write the API portion in Node/Express. I was taking a look at John Papa’s Angular style guide though and many of the configuration blocks just falling into place. Following John’s style guide along with his ng-demos repo I had my new Node/Express/Angular app up and running in no time.
If you have not checked those out, I highly recommend it. I might head back to MEAN.IO or Mean.js eventually, but I am enjoying learning the new stack for now.