requirejs的exports问题

发布于 2022-09-02 19:59:10 字数 450 浏览 7 评论 0

require.config配置项中的shim,我把引入的hello.js的exports设置为h,为什么在下面调用的时候不写h也可以调用?

图片描述
图片描述

下划线照样可以调用的:
图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

想你只要分分秒秒 2022-09-09 19:59:10

图片描述

你确定看懂文档了么?

exports的意思是,针对那些老旧的,没有按照AMD规范声明的代码,把他们暴露在window下的对象名,映射到key上去。

打个比方,假设你的hello.js是老旧的,没按AMD规范的,如下:

(function() {
    window.h = {
        hello: function() {
            alert('hello');
        }
    };
}());

然后这样配置shim

shim: {
    'hello': {
        exports: 'h'
    }
}

意思是,当hello.js加载完毕后,从window.h里取出hello.js定义的内容,赋值给requirejshello这个module name。这样的话,当你其他地方需要用到hello.js的时候,就可以:

define(['hello'], function(hhh){
    //使用hhh
    //至于这里变量名到底是用hhh,还是h,还是hello,无所谓的
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文