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)
RequireJS also has a "compiler" that will combine your files into one or more layers for production use, as well as straightforward dependency management.