There is a similar question in the SO , I put some excerpts from the translated answer , I find it very difficult but if by chance the link goes offline at least we have how to guide us by that answer, I hope it helps.
RequireJS implements the AMD API (source)
CommonJS is a way to define modules with the help of an export object, which defines the contents of the module.
// someModule.js
exports.doSomething = function() { return "foo"; };
//otherModule.js
var someModule = require('someModule'); // in the vein of node
exports.doSomethingElse = function() { return someModule.doSomething() + "bar"; }
CommonJS specifies that you need to have a function to fetch dependencies, export variables to export module contents, and some module handle that is used to require dependencies. CommonJS has several implementations, for example Node.js
RequireJS implements AMD, which is designed to suit the browser, apparently AMD started as an offspin of CommonJs Transport format and has evolved into its own module definition API. Hence the similarities between the two. The novelty in AMD is the define-function that allows the module to declare its dependencies before it is loaded. For example, the definition could be:
define('module/id/string', ['module', 'dependency', 'array'],
function(module, factory function) {
return ModuleContents;
});
So CommonJS and AMD are Javascript modules for APIs that have different implementations, but both come from the same sources. AMD is most suitable for the browser because it supports the asynchronous loading of module dependencies. RequireJS is an implementation of AMD, while at the same time trying to maintain the spirit of CommonJS (mainly in module identifiers). To further confuse, RequireJS, being an AMD implementation, offers a CommonJS wrapper so modules COmmonJs can almost be directly imported for use with RequireJS.
SOURCE