仅将应用程序脚本公开给某些脚本

时间:2012-11-19 07:33:46

标签: javascript design-patterns backbone.js

呃我很难为这个问题找到合适的标题。

在我正在构建的backbone.js应用程序中。模型,视图,模板都在单独的javascript,html文件中。我想将模型,视图和模板导出到应用程序bootstapper文件(app.js),而不会污染全局变量,即执行window.App.Model = myModel;。通过导出我的意思是让文件中的代码可用于app.js进行初始化和运行

  1. 我该怎么做呢?

  2. 是否有任何模式可以解决问题?你能举个例子吗

  3. 描述

    如果模型,视图和模板被拆分为许多不同的文件,应用程序引导程序文件app.js应该有一些方法来访问这些M,V,C组件。因此,通常的方法是在model.js文件中进行以下操作

    window.App.Model.PersonModel = Backbone.Model.extend({});
    

    App.js

    var instance = new window.App.Model.PersonModel();
    var personView = new window.App.Views.PersonView({model:instance});
    

    最后你看到一切都来自全局对象App,我认为这不是安全,不正确和弱的方式来构建应用程序依赖

    建议

    针对上述问题,有人可以建议一个模板加载库(不管引擎使用的javascript模板),可用于加载模板

1 个答案:

答案 0 :(得分:3)

查看RequireJS,它支持异步模块定义/加载。您必须将模块重写为app.js以满足AMD api,但只需要很少的代码串。