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

posted @   zhjh256  阅读(710)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2016-11-30 tomcat 5.5、6、7各版本的web-app标准
2016-11-30 mysql 5.6启用强密码
2016-11-30 本机jdbc连接报The user specified as a definer ('root'@'%') does not exist
2016-11-30 rabbitmq inequivalent arg 'x-message-ttl' for queue 'QUEUE_NAME' in vhost '/'异常解决
2016-11-30 rabbitmq批量删除队列
点击右上角即可分享
微信分享提示