So, you're working on your Angular + MVC/Web API project, when suddenly you get irritated with your browser caching your views for the last time. That's when it hits you. This is going to happen in production. You consult the Network tab of your browser's dev tools, and see all of the extra connections that are occurring because you made nice modular directives with separate files for your templates. Now, take a breath as you find the solution to both problems right here.
Have you ever needed two Angular directives that happened to be almost identical except for some configuration variable or callback? Yes? Hot dog, have I got something for you! It's not the most unique thing ever done with a closure, but it is a slick trick that just might help you keep your code a little more DRY.
One of the most useful talents of frameworks like Angular is the ability to create rich and dynamic applications. Being able to build directives that can dynamically spawn additional directives, allows for highly configurable, configuration driven pages that can take your applications to the next level. By using $compile, this becomes an easy 3 step process.
Recently, I have found myself loading a number of XML configuration files containing lists
that were subject to change as our application evolved. We needed to be able to smoothly
fuse the new default items into the configuration file without losing an changes already
performed on items that were still valid list members. In addition, any newly invalidated
list members needed to be removed. Using LINQ's Union
and Intersect
methods, this is
actually quite easy.
Unless you read this or a similar article before you installed Node.js, you likely installed node the conventional way, which puts important directories into root protected areas of your system. This makes it difficult to fully automate deployments, including npm package updates, without involving root. This post will cover how to get the most out of nvm, both for development and deployment.