The main difference between this and other solutions like RequireJS is the fact that you don't have to wrap your CommonJS modules in callbacks and thus could in theory use them "unmodified".
That's one of the big differences - I'd say the other big difference is that it comes with a compiler that bundles all your required modules into a single javascript file for production
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.
Obviously, that's meant for development only and that's why it also ships with it's own compiler for production (where I seriously hope they don't use a synchronous XHR to fetch the compiled code).
The synchronous XHR requests are only used in your development environment. For production, use `node browser-require/compile.js`, which will compile all your required javascript modules into a single file. It really doesn't make sense to asynchronously request all of your javascript files on production pages.
Actually it makes a ton of sense to asynchronously require javascript files on your production page. If you load them asynchronously and in parallel, you can often get much better performance than one single request (serially).
This is great, but I could not figure out debugging my loaded code with this solution.
Any ideas ?