Require.js#require 本地失败 (file:///)
Require.js#require failing locally (file:///)
鉴于以下文档,Require.js 如果我 运行 它在网络服务器上运行正常,但如果我在本地打开相同的文档 (file:///).
当我在本地打开文档时,我会看到 'called' 打印到控制台(因此回调触发 w/o 问题)但是:
- Firebug's/Chrome 的网络选项卡中没有列出请求。
- common.js 中的变量未定义,console.log 语句的 none 运行。
从我的桌面加载文档时,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
。
鉴于以下文档,Require.js 如果我 运行 它在网络服务器上运行正常,但如果我在本地打开相同的文档 (file:///).
当我在本地打开文档时,我会看到 'called' 打印到控制台(因此回调触发 w/o 问题)但是:
- Firebug's/Chrome 的网络选项卡中没有列出请求。
- common.js 中的变量未定义,console.log 语句的 none 运行。
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
。