只将应用程序脚本公开给某些脚本
呃这个问题很难找到正确的标题,请原谅我。
在我正在构建的backbone.js应用程序中。 模型,视图,模板都在单独的JavaScript,HTML文件 。 我想将模型,视图和模板导出到应用程序引导程序文件(app.js),而不会污染全局变量,即执行window.App.Model = myModel;
那。 通过导出我的意思是使可用于app.js的文件中的代码进行初始化和运行
我如何去做这件事?
有没有可以解决问题的模式? 你能否给我一个例子
描述
在模型,视图和模板被拆分为许多不同文件的情况下,应用程序引导程序文件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模板,不管使用哪种引擎)可以用来加载模板
看看支持异步模块定义/加载的RequireJS。 你将不得不重写你的模块和app.js
来满足AMD api,但它只需要app.js
代码。
上一篇: Exposing application scripts to certain scripts only
下一篇: Cannot set baud rate on USB serial port for Ubuntu 12.04