add grunt, along with requirejs optimization