鉴于以下文档,如果我在网络服务器上运行它,则Require.js 可以正常运行,但如果我在本地打开同一文档(file:///)则会失败。
我会看到'叫'当我在本地打开文档时打印到控制台(因此回调没有问题)但是:
当从我的桌面加载文档时,Require.js不会请求common.js文件。
<html>
<head></head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="https://s3.amazonaws.com/<MYBUCKET>/scripts/require.min.js"></script>
<script>
require.config({
baseURL: 'https://s3.amazonaws.com/<MYBUCKET>'
});
require(['scripts/common'], function(){
console.log('called')
});
</script>
</body>
</html>
鉴于baseurl陈述了http / s协议,我不明白为什么当文档位于我的桌面上时失败,并且当文档位于http://whatever.com时工作正常。
次要/相关:
理想情况下,我想省略原型并允许浏览器自行处理,但这当然也完全无法在本地完成。
(与上述代码相同,无http / https)
<html>
<head></head>
<body>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="//s3.amazonaws.com/<MYBUCKET>/scripts/require.min.js"></script>
<script>
require.config({
baseURL: '//s3.amazonaws.com/<MYBUCKET>'
});
require(['scripts/common'], function(){
console.log('called')
});
</script>
</body>
</html>
这可能与Require.js无关,也与浏览器处理文件请求的方式有关:
无论文档的位置如何,是否有合理的方式使其工作?
答案 0 :(得分:1)
它是baseUrl
,只有U
的大写字母。您正在使用被忽略的baseURL
。