即使我使用系统js加载下划线之类的库,为什么javascript对象也会泄漏到全局范围

时间:2018-12-22 23:16:44

标签: javascript amd systemjs

我的index.html有这个

<script src='/node_modules_olderversion/systemjs/dist/system.js'></script>
<script src='./main.js'></script>
<script>
    System.config({
        baseURL: '../../node_modules/',
        paths: {
            'anyname_1': 'underscore/underscore.js'
        },
    });

我的main.js有这个

System.import('anyname_1').then(function(anyname_2){
    console.log("underscore loaded!");
    document.getElementById('result-div').innerHTML = anyname_2.reduce([1, 2, 3], function(memo, num){ return memo + num; }, 0);
});

这很好用,但是为什么将''添加到我的全局范围中? Underscore.js位于UMD包装器中,并且如果没有AMD加载器,它应该默认将对象分配给全局范围?在这种情况下,我确实有一个AMD加载器,并且加载也很好。为什么我在全局范围内仍然得到“ ”?

0 个答案:

没有答案