在 Backbone.js 中将与视图(例如广告、分析等)不直接相关的代码放在哪里?
Where to place code not directly related to a view (such as ads, analytics etc) in Backbone.js?
我正在构建一个 backbone.js 应用程序,据我所知,每个 backbone "class" 旨在执行以下操作:
- Model:数据的对象表示,即点击 API 的结果将存储在模型中。
- 集合:一组有序的模型,即如果你有一个 "book" 模型,你可以拥有代表 "science fiction" 本书的所有模型的集合.
- 路由器:路由页面URL到actions/events,即'site.com/help'路由到
help: funciton(){}
- 视图:模型的视觉表示,渲染到DOM。
这让我不确定我应该在哪里放置我的 "generic" 代码,例如分析和广告脚本、辅助函数、跟踪等。
这类事情的适当约定是什么?我会把它们放在 backbone 视图中吗(即使它们不包含任何页面可呈现的内容)?我需要使用像 Browserify 或 Require.js 这样的模块加载器吗?我想避免让那些人参与进来,因为项目很小而且我不需要额外的库开销。
"What is the appropriate convention for these sort of things?"
在模块中拆分代码是一种很好的做法。使用模块模式或使用 requirejs 构建模块。
在这里检查模块模式http://addyosmani.com/resources/essentialjsdesignpatterns/book/
我正在构建一个 backbone.js 应用程序,据我所知,每个 backbone "class" 旨在执行以下操作:
- Model:数据的对象表示,即点击 API 的结果将存储在模型中。
- 集合:一组有序的模型,即如果你有一个 "book" 模型,你可以拥有代表 "science fiction" 本书的所有模型的集合.
- 路由器:路由页面URL到actions/events,即'site.com/help'路由到
help: funciton(){}
- 视图:模型的视觉表示,渲染到DOM。
这让我不确定我应该在哪里放置我的 "generic" 代码,例如分析和广告脚本、辅助函数、跟踪等。
这类事情的适当约定是什么?我会把它们放在 backbone 视图中吗(即使它们不包含任何页面可呈现的内容)?我需要使用像 Browserify 或 Require.js 这样的模块加载器吗?我想避免让那些人参与进来,因为项目很小而且我不需要额外的库开销。
"What is the appropriate convention for these sort of things?"
在模块中拆分代码是一种很好的做法。使用模块模式或使用 requirejs 构建模块。
在这里检查模块模式http://addyosmani.com/resources/essentialjsdesignpatterns/book/