RequireJS中的require返回模块

requirejs中定义AMD模块规则如下:

复制代码
define(function(){
    var ProductManager={
        Create:function(){
            console.log("创建产品");

            require(["cate"],function(cate){
                cate.Write();
                cate.Add();
            });
        }
    }
    return ProductManager;
});
复制代码

  模块的定义包含在define 中,并且可以返回一个对象,一直有个疑问  var $ = require('jquery');  怎么能够接收返回值,在网上看到这个代码之后,自己也尝试的用了一下,但是不能获得模块的对象,只能以回调的方式获得模块对象. 原来我是用错了

复制代码
define(function(require, exports, module){
    var p=require("Product");
    console.log(p);
    p.Create();
    module.exports={
        In:function(){
            p.Create();
            console.log("创建入库单");
        }
    }
});
复制代码

  困惑了我好久,之前没有怎么研究过requirejs,要获取返回模块需要在define 定义的时候显示指定 require 回传对象。 这里的require 和全局的require对象好像是有点区别的。

require的定义为:在ES6的模块中导入的CommonJS模块和AMD模块都有一个默认的导出,如果你用require()加载这些模块也会得到相同的结果——exports对象。

参考:

http://requirejs.org/docs/api.html

http://www.infoq.com/cn/articles/es6-in-depth-modules

原文地址:https://www.cnblogs.com/zhjh256/p/7930892.html