Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Require.js设置Symfony2和Backbone.js_Javascript_Symfony_Backbone.js_Requirejs - Fatal编程技术网

Javascript 使用Require.js设置Symfony2和Backbone.js

Javascript 使用Require.js设置Symfony2和Backbone.js,javascript,symfony,backbone.js,requirejs,Javascript,Symfony,Backbone.js,Requirejs,我有一个非常简单的应用程序,类似于Todo,有一个名为Subject的实体 Symfony2将提供RESTAPI,主干应用程序将处理客户端发生的事情。 我一直在尝试设置我的项目,以便Require.js加载一个基本模型和一组非常简单的视图,但我总是遇到以下错误: "NetworkError: 404 Not Found - http://localhost:8000/bundles/pfiuser/js/app/.js" 接着 Error: Script error for: http://r

我有一个非常简单的应用程序,类似于Todo,有一个名为Subject的实体

Symfony2将提供RESTAPI,主干应用程序将处理客户端发生的事情。 我一直在尝试设置我的项目,以便Require.js加载一个基本模型和一组非常简单的视图,但我总是遇到以下错误:

"NetworkError: 404 Not Found - http://localhost:8000/bundles/pfiuser/js/app/.js"
接着

Error: Script error for: http://requirejs.org/docs/errors.html#scripterror
In require.js line 166
最后是超时:

Error: Load timeout for modules: http://requirejs.org/docs/errors.html#timeout
我不太了解Require.js,但我认为它来自于我所做的一个不起作用的
定义。以下是require的配置(我一直在根据我的工作):

然后我调用该应用程序:

require([
    '{{ asset('bundles/pfiuser/js/app/app.js')  }}'
], function(App){
    App.initialize();
});
这在app.js中变得很奇怪。以下是基本文件:

define([
    'jquery',
    'underscore',
    'backbone',
    'router'
], function($, _, Backbone, Router){
    var initialize = function(){
        //Router.initialize();
    }

    return {
        initialize: initialize
    };
});
我得到了错误。如果我只对路由器(调用其他文件)进行注释,我仍然有错误。但是如果我对主干呼叫进行评论,我就不会再有错误了:

定义([ “jquery”, “下划线”/, "骨干",, “路由器”/ ],函数($,\,主干,路由器){ var initialize=函数(){ //路由器初始化(); }

}))

这个错误听起来很神秘,所以我不知道如何解决它。以下是我的项目目录结构供参考:

//In src/PFI/UserBundle/Resources/public/js/
app/
|-- collections
|      |-- subjects.js
|-- models
|      |-- subject.js
|-- templates
|      |-- subjects
|      |     |-- list.html
|-- vendor
|     //all the libraries installed via bower
|-- views
|      |-- subjects
|             |-- list.js
|-- app.js
|-- boilerplate.js
|-- main.js //(unused as I configure requirejs directly in the page layout)
|-- router.js

我也尝试在Symfony2中使用require,但我认为您不应该这样做:

    require([
    '{{ asset('bundles/pfiuser/js/app/app.js')  }}'
], function(App){
    App.initialize();
});
更像

require([
    'app'
], function(App){
    App.initialize();
});
实际上,您的基本url已经指定了路径,我认为,此外,您不应该在最后使用.js。(我看到了一些使用细枝过滤器| raw | escape'.js'的示例)

    require([
    '{{ asset('bundles/pfiuser/js/app/app.js')  }}'
], function(App){
    App.initialize();
});
require([
    'app'
], function(App){
    App.initialize();
});