Javascript 我的一些应用程序初始值设定项不';似乎不会触发?

Javascript 我的一些应用程序初始值设定项不';似乎不会触发?,javascript,ruby-on-rails,backbone.js,coffeescript,marionette,Javascript,Ruby On Rails,Backbone.js,Coffeescript,Marionette,我有一个名为SearchApp的顶级应用程序,它有一个名为TeamApp的子应用程序。文件的结构如下所示: search_app.js.coffee # The top-level application. team_app/ app.js.coffee team_list.js.coffee team_invite.js.coffee 我在search\u app.js.coffee中初始化我的应用程序: window.Domainer = {} # This is the t

我有一个名为
SearchApp
的顶级应用程序,它有一个名为
TeamApp
的子应用程序。文件的结构如下所示:

search_app.js.coffee # The top-level application.
team_app/
  app.js.coffee
  team_list.js.coffee
  team_invite.js.coffee
我在
search\u app.js.coffee
中初始化我的应用程序:

window.Domainer = {}

# This is the top level application.
Domainer.SearchApp = new Backbone.Marionette.Application()

# Assign a region to the Application.
Domainer.SearchApp.addRegions(stage: '#stage')
并在html视图中启动它:

<script>Domainer.SearchApp.start({});</script>
不能将一个模块拆分为多个文件吗?这是我唯一能想到的事情。还有什么可能导致问题?

您会问:

不能将一个模块拆分为多个文件吗

检查确认这正是正在发生的事情:

// Get the module name, and check if it exists on
// the current parent already
moduleName = moduleNames[i];
module = parentModule[moduleName];

if (!module){ 
  // This is where the module definition is used...
}

return module;
因此,如果您多次尝试定义同一模块,则只会使用第一个定义。

您会问:

不能将一个模块拆分为多个文件吗

检查确认这正是正在发生的事情:

// Get the module name, and check if it exists on
// the current parent already
moduleName = moduleNames[i];
module = parentModule[moduleName];

if (!module){ 
  // This is where the module definition is used...
}

return module;

因此,如果您多次尝试定义同一个模块,则只会使用第一个定义。

FYI-我已经更新了木偶以支持此场景



MyApp = new Backbone.Marionette.Application();

MyApp.module("Foo", function(Foo){
  Foo.def1 = true;
});

MyApp.module("Foo", function(Foo){
  Foo.def2 = true;
});

MyApp.Foo.def1; //=> true
MyApp.Foo.def2; //=> true

仅供参考-我已经更新了木偶以支持此场景



MyApp = new Backbone.Marionette.Application();

MyApp.module("Foo", function(Foo){
  Foo.def1 = true;
});

MyApp.module("Foo", function(Foo){
  Foo.def2 = true;
});

MyApp.Foo.def1; //=> true
MyApp.Foo.def2; //=> true

跨文件拆分同一模块是否常见?对我来说好像是不同的模块。如果我这样做,我会使用子模块:TeamApp、TeamApp.Search、TeamApp.Invite作为示例。我很想听听你的想法,为什么你想在多个文件中使用同一个模块。如果您不介意的话,请打开github问题:完成。跨文件拆分同一模块是否常见?对我来说好像是不同的模块。如果我这样做,我会使用子模块:TeamApp、TeamApp.Search、TeamApp.Invite作为示例。我很想听听你的想法,为什么你想在多个文件中使用同一个模块。如果您不介意的话,请打开github问题:完成。