【发布时间】:2013-05-27 13:21:14
【问题描述】:
我读过以前的帖子,其他成员也有与我相同的错误消息,但他们接受的解决方案似乎没有帮助。
当我尝试加载 index.html 时,基本上我会在 Chrome 控制台中得到这个:
Uncaught Error: Module name "underscore" has not been loaded yet for context: _. Use require([])
几秒钟后出现:
Uncaught Error: Load timeout for modules: underscore,backbone
在 day_view.js 加载正常(200 OK)之前,Chrome 网络工具不会显示任何异常。
文件结构
index.html
...
<script>
var require = {
deps: ["jquery/jquery-min", "underscore/underscore-min", "backbone/backbone-min"]
};
</script>
<script data-main="scripts/main" src="scripts/require.js"></script>
...
main.js
require.config({
baseUrl: 'scripts',
paths:{
jquery:'jquery/jquery-min',
underscore:'underscore/underscore-min',
backbone:'backbone/backbone-min'
},
shim: {
underscore: {
exports: '_'
},
backbone: {
deps: ["underscore/underscore-min", "jquery/jquery-min"],
exports: "Backbone"
}
},
waitSeconds: 200
});
require(['day_view'], function (day_view) {
function start() {
day_view.render();
}
return {
start:start
};
});
day_view.js
define(['jquery', 'underscore', 'backbone'], function($, _, Backbone) {
function render() {
...
}
...
【问题讨论】:
-
这个问题可能对你有帮助:stackoverflow.com/questions/10866740/…
-
@jantimon 我读过那篇文章,但我看不出任何有助于解决我当前困境的东西。你认为我应该读什么特别的东西吗?我也读过这个(requirejs.org/docs/errors.html#notloaded),但我也找不到原因。
-
试试
shim = { ... deps: ["underscore", "jquery"] ... } -
@jantimon 也不起作用。与上述问题相同的错误消息。
-
也照@jantimon 说的做!
标签: javascript html backbone.js requirejs underscore.js