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

时间:2015-01-13 21:25:12

标签: javascript requirejs

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

我会看到'叫'当我在本地打开文档时打印到控制台(因此回调没有问题)但是:

  • Firebug&Chrome的网络标签中未列出任何请求。
  • common.js中的变量未定义,并且没有任何console.log语句运行。

当从我的桌面加载文档时,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无关,也与浏览器处理文件请求的方式有关:

无论文档的位置如何,是否有合理的方式使其工作?

1 个答案:

答案 0 :(得分:1)

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