麻烦结合Require.js和Backbone.js的/ Underscore.js [英] Trouble combining Require.js and Backbone.js/Underscore.js
本文介绍了麻烦结合Require.js和Backbone.js的/ Underscore.js的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我读过previous线程,而其他成员都有相同的错误消息作为我,但他们接受的解决方案似乎并没有帮助。
基本上,我得到这个在Chrome控制台时,我尝试加载index.html的:
未捕获的错误:模块名称为下划线尚未对环境没有加载:_。使用要求([])
一个几秒钟后这表明了:
未捕获的错误:模块加载超时:下划线,骨干
Chrome的网络工具,没有表现出任何异常的一切,直到day_view.js是加载精(200 OK)。
文件结构
的index.html
...
<脚本>
VAR需要= {
DEPS:jQuery的/ jQuery的民,下划线/下划线民,骨干网/骨干网民]
};
< / SCRIPT>
<脚本数据主要=脚本/主SRC =脚本/ require.js>< / SCRIPT>
...
main.js
require.config({
的baseUrl:'脚本', 路径:{
jQuery的:jQuery的/ jQuery的民',
强调:下划线/凸显民',
主干网:主干网/骨干分钟
}, 垫片:{
强调:{
出口:'_'
},
主干:{
DEPS:下划线/下划线民,jQuery的/ jQuery的民],
出口:脊梁
}
}, waitSeconds:200
});需要(['day_view'],功能(day_view){
函数的start(){
day_view.render();
} 返回{
启动:启动
};
});
day_view.js
定义(['jQuery的','底线','骨干'],功能($,_,骨干){
功能渲染(){
...
}
...
解决方案
这最后的工作。
require.config({
路径:{
jQuery的:jQuery的/ jQuery的民',
强调:下划线/凸显民',
主干网:主干网/骨干分钟
},
垫片:{
强调:{
出口:'_'
},
主干:{
DEPS:[下划线,jQuery的],
出口:脊梁
},
waitSeconds:15
}
});需要(['day_view'],功能(day_view){
函数的start(){
day_view.show();
}
的console.log(day_view); //此处空对象?
返回{
启动:启动
};
});
和
定义(['jQuery的','底线','骨干'],功能($,_,骨干){...
I've read previous threads where other members have had identical error messages as me, but their accepted solution doesn't seem to help.
Basically I get this in Chrome console when I try to load index.html:
Uncaught Error: Module name "underscore" has not been loaded yet for context: _. Use require([])
A couple of seconds later this shows up:
Uncaught Error: Load timeout for modules: underscore,backbone
Chrome network tools doesn't show any anomalies everything up until day_view.js is loaded fine (200 OK).
File structure
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() {
...
}
...
解决方案
This finally worked.
require.config({
paths:{
jquery:'jquery/jquery-min',
underscore:'underscore/underscore-min',
backbone:'backbone/backbone-min'
},
shim: {
underscore: {
exports: '_'
},
backbone: {
deps: ["underscore", "jquery"],
exports: "Backbone"
},
waitSeconds: 15
}
});
require(['day_view'], function (day_view) {
function start() {
day_view.show();
}
console.log(day_view); // Empty object here?
return {
start:start
};
});
and
define(['jquery', 'underscore', 'backbone'], function($, _, Backbone) { ...
这篇关于麻烦结合Require.js和Backbone.js的/ Underscore.js的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文