为什么requirejs尝试加载.map文件?

7

我正在尝试从CDN(具体来说是cdnjs)加载脚本,在requirejs中,你需要把扩展名省略掉:

require.config({
    baseUrl: '/static/js/',
    paths: {
        underscore: ['//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.1/underscore-min']
    },
    shim: {
        'underscore': {
            exports: '_'
        }
    }
});

然而,当我这样做时,浏览器会尝试加载 underscore-min.map 而不是 underscore-min.js

我该如何解决这个问题?另外,什么是 .map 文件?

1个回答

13

.map 文件是浏览器支持 sourceMap 的必要文件。这是从你从 CDN 加载的文件中读取的最后一行:

 //# sourceMappingURL=underscore-min.map

这一行代码会使得您的浏览器加载.map文件。


1
您可以在此处阅读有关此功能的详细信息(http://jquerybyexample.blogspot.com/2013/01/all-you-need-to-know-about-jquery-source-maps.html)。您还可以了解如何从浏览器设置中停用该功能。 - Miguel Trias
请注意,这只会在 Chrome 中发生。您可以通过转到开发人员工具设置并取消选中“启用源映射”来关闭此功能。 - stavarotti

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接