Require.js#require 本地失败 (file:///)

Require.js#require failing locally (file:///)

鉴于以下文档,Require.js 如果我 运行 它在网络服务器上运行正常,但如果我在本地打开相同的文档 (file:///).

当我在本地打开文档时,我会看到 'called' 打印到控制台(因此回调触发 w/o 问题)但是:

从我的桌面加载文档时,

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.


Secondary/related:

理想情况下,我想省略协议并允许浏览器自行处理,但这当然也会在本地完全失败。

(代码同上,无 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 无关,而与浏览器如何处理来自文件的请求有关:

有没有一种明智的方法可以使这项工作不受文档位置的影响?

baseUrl,只有U是大写的。您正在使用被忽略的 baseURL