在简单示例中,RequireJS shim被忽略

时间:2015-01-20 15:55:53

标签: javascript requirejs

据我了解,您可以使用带有Requirejs的填充程序来动态加载未在自己的文件中定义为模块的脚本。那么为什么我不能得到这样一个简单的脚本呢?

这是我的非工作示例:

/libs/test.js:

var a = 'Hello from TestJS';

main.js

require.config({
    shim: {
        './libs/test': { exports: 'test'}
    }
}

然后在控制台中尝试:

require(['./libs/test'], function(t) { console.log(t); })

哪个产生undefined

那么如何掌握a

我可以从网络选项卡中看到test.js是从服务器加载的。我有一种感觉我的垫片配置被忽略了,requirejs只是在没有垫片的情况下加载它。因此,如果我只是做console.log(window.a),我会看到来自TestJS'你好。

1 个答案:

答案 0 :(得分:2)

使用您为test.js显示的代码,您必须指定导出的符号为a,而不是test,因为后者永远不会在test.js中定义:< / p>

shim: {
    './libs/test': { exports: 'a'}
}