我有一个Backbone应用程序,它使用像这样的全局App命名空间
var App = App || {};
App.Config = {};
App.Models = {};
App.Views = {};
App.Collections = {};
在文件/views/myappviews.js
中,我在App.Views
命名空间上定义了12个不同的视图,例如
App.Views.BlahBlahView = Backbone.View.extend({
});
如果我在运行应用程序的路径中检查控制台中的App对象,它会显示App.object上定义的12个不同视图中的每个视图。但是,在test.html
的应用程序的测试部分中,我需要所有应用程序文件,如
<script src="../app/views/myappviews.js"></script>
当我在控制台中检查App对象时,它只显示该文件中定义的前三个视图,如下所示
Object
Views
HomeView
BlahBlahView
FooView
因此,当我尝试测试文件后面定义的其他9个视图中的任何一个时,它表示它们未定义,即使我将该文件的脚本标记置于实际测试规范之上。 (然而,就模型而言,../app/models/mymodels.js
中定义的所有8或9个模型在测试路径中的App
对象上都可见。
为什么只有该文件中App对象上定义的某些视图可见,我如何安排它们以便它们在应用程序的测试区域中都可见?