麻烦结合Require.js和Backbone.js的/ Underscore.js [英] Trouble combining Require.js and Backbone.js/Underscore.js

查看:258
本文介绍了麻烦结合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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆