RequireJS 与 CommonJS 模块

RequireJS with CommonJS modules

将 RequireJS 与 CommonJS 模块一起使用,当我这样做时会发生什么:

define(function(require, exports, module) {
    //Put traditional CommonJS module content here

    var simpleCommonJSModule = require('simple-commonjs-module');   

    module.exports = new String('foo');

   return {
        //return empty object along with using module.exports
   }
});

如果我 return 东西,我假设 module.exports 会被忽略?还是反过来?

是的,如果你 return 某些东西 module.exports 将被忽略。

这是原始文档中的一个片段。

define(function(require, exports, module) {
       var a = require('a'),
           b = require('b');

       //Return the module value
       return function () {};
    } 
);

如果你想使用 exports CJS 风格,你可以这样做

define(function(require, exports, module) {
   exports.foo = function () {
       return a.bar();
   };
});