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

标签 javascript design-patterns backbone.js

呃,对不起,这个问题很难找到合适的标题。

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

  1. 我该怎么做?

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

描述

在模型、 View 和模板被拆分为许多不同文件的情况下,应用程序 Bootstrap 文件 app.js 应该有一些方法来访问这些 M、V、C 组件。因此,常见的方法是在 model.js 文件中执行以下操作

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

应用程序.js

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

最后你看到所有东西都派生自全局对象 App 我认为这是构建应用程序依赖性的不安全、不正确和弱的方式

建议

就上面的问题,有人可以建议一个模板加载库(javascript模板,不管使用的引擎),可以用来加载模板

最佳答案

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

关于javascript - 仅将应用程序脚本公开给某些脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13449420/

相关文章:

javascript - jQuery UI Droppable,默认删除一个项目(不更改标记结构)

javascript - Backbone View 渲染不创建

javascript - Backbone.Marionette - 如何使用 CompositeView 在模板中添加静态 html 内容?

javascript - 将 Backbone.js 添加到现有的 Spring MVC 应用程序

design-patterns - 传递单个对象与传递多个参数

python-3.x - 导入模块问题(项目名称和模块名称相同)

javascript - Node.js 服务器上的 ECONNRESET 错误有何影响(如果有)?

javascript - 如何访问其他同级文件夹的 package.json 或组织 MERN 堆栈的文件夹

javascript - 请求库 POST 请求获取 http 450 错误

c++ - 具有静态成员实例的单例