Creating a modular angularJS application using browserify, gulp and less

Complete source on github.

Exploration

I’m a big fan of not using the latest and greatest right out of the gate. I prefer to let other people work through the initial bugs and get a few examples documented before I jump in. It’s worked quite well for me thus far.

That said, I recently came across the need to set up a new angular project (client need). And I do like to explore new frameworks/methodologies/techniques/etc. once they’ve had some time to mature. Having not yet used browserify, this seemed like a good enough reason as any to give it a go. I have previously used requireJs in my angular projects, so I thought this would be a good opportunity for comparison.

After looking around for examples I quickly realized that, as to be expected, there are quite a few different ways to make this work… And, I didn’t really like any of them. I had some concerns that browserify would abstract the angular code too much. I wanted things to stay as traditionally angularish as possible. The eventual handoff will be to angular developers who may or may not have experience with browserify – so I want to keep things as simple as possible. Since none of the examples I found fit the bill, here’s what I came up with.

Continue reading

Running gulp without installing it globally

Gulp vs. package.json

While considering whether or not to migrate my build-steps into package.json exclusively, I thought about the pros/cons around using a task-runner like gulp as opposed to managing everything through package.json and npm scripts.

Ultimately, the big selling points for me about using gulp is its configurability and its cross-platform support. I develop on a mac, yet a majority of our clients use windows machines. There are some issues with some of the npm scripts on windows. Additionally, when you only install gulp locally, you have complete control over which version is installed – which can be very important when delivering your code to clients.

One of the issues I’ve found with gulp is the necessity of globally installing another package. It adds another hurdle to setting up the dev environment, which while small, adds up. That said, I’ve recently come across a method for running gulp without having to install it globally.

Check it out! Continue reading