require.js does asynchronous file loading and is supposed to be deployed as-is in production. Browser-require makes it easy to develop your code using synchronous require statements and straight-forward dependency management. For production it has a compiler that combines all the required files into a single file (which is the only way you should serve your javascript in production)